Linux-在移动硬盘上安装Arch Linux

记录在移动硬盘上安装Arch Linux的过程。一部分用作Arch Linux,另一部分则用于日常存储。

安装背景

在2017年暑期接触到Linux,接触得并不太多,也只是装了个虚拟机VM ware,在虚拟机上使用过Ubuntu和CentOS,后来很长一段时间没怎么玩。最近入手了一块移动硬盘,Win 10用得总是崩溃,又想捣鼓一下Linux玩玩,电脑的配置并不高,也不想再重新分区,所以并没有装双系统,于是就想着是不是可以在移动硬盘上面装一个Linux,周围的伙伴推荐过Arch Linux,再加上Arch Linux的Wiki非常详细,大多数的东西都能在官方Wiki上面找到,于是决定进行尝试。

安装准备

采用MBR+BIOS引导启动,通过Virtual Box引导Arch 的 ISO,将移动硬盘连接到虚拟机进行安装。在使用前我删除了移动硬盘上的所有分区,移动硬盘处于未分配状态,分区操作将在后文提及。(也可以选择使用分区助手将GPT格式分区修改为MBR分区方式,以及格式化和分区。)

新建虚拟机

在Virtual Box上新建一个虚拟机,不设置虚拟磁盘。需要注意的是在虚拟机的设置中需要启用USB设置项,选择“启用USB控制器”,选择USB 3.0(xHCI)控制器。此选项需要安装VirtualBox Extension Pack,下载完扩展包后,在VirtualBox的全局设定中的扩展选项卡将此扩展包加入,才可以正常使用USB3.0控制器。

加载Arch Linux ISO文件时,记得在顶部的菜单栏选择USB设备!

分区,格式化,挂载

分区

运行分区工具:

1
cfdisk
如果移动硬盘中并不存在分区,则将会出现一个选择菜单"Select label type",这里我们选择dos,这将会使用MBR方式对硬盘进行分区。之后将显示整个移动硬盘的分区状态,当前显示为Free Space,对此进行分区,根据提示输入分区大小,创建分区后,需要选择Write将分区写入,忽略Write操作分区将并不会被修改,根据自己的需要进行分区。我创建了两个分区用于root,和home,这两个分区的类型为83 Linux,一个分区用于swap,分区类型为82 Linux swap / Solaris,剩下的作为日常存储使用,当然这里我也根据需要进行了一定的分区,分区类型均为7 HPFS/NTFS/exFAT

分区完成后可以使用以下命令查看分区情况:

1
fdisk -l
或者使用命令:
1
lsblk
### 格式化
1
mkfs.ext4 /dev/sda1
### 设置卷标
1
e2label /dev/sda1 arch
### 挂载分区,启用swap
1
2
3
4
5
mount /dev/sda1 /mnt
mkdir /mnt/home
mount /dev/sda2 /mnt/home
mkswap /dev/sda3
swapon /dev/sda3

安装

检查网络连接

检查网络连接是否正常(此时机器应该时自动连接到网络的),可以使用ping验证连接是否正常:

1
ping -c 3 archlinux.org
## 选择镜像源 修改/etc/pacman.d/mirrorlist文件,
1
vim /etc/pacman.d/mirrorlist
关于vim的操作,此处不做介绍。 此文件定义了软件包会从哪个镜像源下载,在列表中越前的镜像在下载软件包时有越高的优先权。可以加入以下两个镜像:
1
2
3
4
## 中科大的
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
## 阿里云的
Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch
## 安装基本系统 使用pacstrap脚本,安装base组,和base-devel软件包组,也可以之后再安装:
1
pasctrap -i /mnt base base-devel

配置系统

Fstab

生成fstab文件,该文件用于定义磁盘分区,其他块设备和远程文件系统如何装入文件系统,-U选项设置使用UUID:

1
genfstab -U /mnt >> /mnt/etc/fstab
根据 Arch Wiki 的建议, 最好检查一下fstab文件是否正确:
1
cat /mnt/etc/fstab
## Chroot Change root 到新系统
1
arch-chroot /mnt
## 时区 设置时区:
1
2
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
## 本地化 (这里vim可能尚未安装,使用pacman -S vim进行安装) 在/etc/locale.gen文件中修改需要的本地化类型,移除掉对应行前的注释号即可:
1
vim /etc/locale.gen
执行locale-gen生成locale讯息,使/etc/locale.ben生成指定的本地化文件:
1
locale-gen
创建locale.conf并编辑LANG变量:
1
vim /etc/locale.conf
1
LANG = en_US.UTF-8
## 设置主机名
1
echo myhostname > /etc/hostname
## 设置root密码
1
passwd
## 添加普通用户
1
2
useradd -m newuser
passwd newuser
修改权限:
1
visudo
1
2
root ALL=(ALL)ALL
newuser ALL=(ALL)ALL
## 安装Grub
1
2
3
pacman -S grub
grub-install --recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
## 退出Chroot环境并卸载分区,关闭虚拟机
1
2
3
4
exit
umount /mnt/home
umount /mnt
power off

系统安装完成~ 重启,通过BIOS启动菜单直接进入移动硬盘即可进入Arch Linux~ # 参考资料 * Installation guide - ArchWiki * Mounting of additional hard disks in Linux | Official Blog - Contabo.com * Partitioning =ArchWiki * fstab - ArchWiki * Microcode - ArchWiki * GRUB - ArchWiki * Arch Linux 安装记(安装到移动硬盘)- 天下掉下的X - 博客园 * arch linux安装到移动介质-简书 * 交换分区(SWAP)的大小分配-笑遍世界