前几天给电脑加了块固态硬盘,要把系统装进固态硬盘,安装过程很流畅,下面是我的不完整安装过程。
备份旧系统数据
$ tar -cvf ws.tar ~/ws
$ tar -cvf dotfiles.tar ~/.dotfiles
$ cp ws.tar /mnt/usb
$ cp dotfiles.tar /mnt/usb
制作u盘启动盘
直接用dd写入就好了:
# dd if=archlinux-2015.11.01-dual.iso of=/dev/sdX && sync
开始安装
重启电脑让电脑从u盘启动,我用的是UEFI模式。
联网、时间
如果你用的是网线且不需要密码上网的话,它会自动联网的。有WiFi的话,用WiFi上网也是可以的,但我的无线网卡驱动现在还没有安装。
我来测一下有没有连上网:
$ ping baidu.com
自动同步时间:
# timedatectl set-ntp true
分区、格式化、挂载
我这次装系统打算用UEFI+GPT,所以分区软件用 gdisk。
gdisk 使用方法:
使用 o 命令建立一个新的空 GPT 分区表。
使用 n 命令创建一个新的分区。
如果指定使用第 2048 扇区之前的扇区作为起点,gdisk 会自动将分区起点移至第 2048 扇区。这是为了保证 2048 扇区对齐(由于每个扇区大小是 512 字节,这也就是能够保证兼容几乎所有 SSD NAND 擦除块大小的 1024 KiB对齐)。
使用 +x{M,G} 的格式指定分区大小为 x MB 或 x GB。如果指定的大小不是对齐大小(1024KiB)的整数倍,gdisk 会将其缩减到最临近的值。例如,你需要创建一个 15 GiB 的分区,你需要输入 +15G。如果想要使用所有剩余空间,直接敲下回车。
选择分区类型。默认值 Linux filesystem(代码 8300)在大多数情况下适用。输入 L 会打印出所有分区类型代码的列表。ESP 的代码是 ef00,swap 的代码是 8200。
使用 w 命令将分区表写入硬盘并退出。
我有一个固态硬盘和一个机械硬盘,打算把 /var、/home 放到机械硬盘里。
我的分区策略如下:
固态硬盘(/dev/sda)
ESP 分区,大小 512M,挂载到 /boot(/dev/sda1)
根分区,使用剩余全部空间,挂载到 /(/dev/sda2)
机械硬盘(/dev/sdb)
var 分区,大小 32G 或 64G,挂载到 /var(/dev/sdb1)
swap 分区,大小 4G 或 8G,不用挂载(/dev/sdb2)
home 分区,使用剩余全部空间,挂载到 /home(/dev/sdb3)
格式化分区:
# mkfs.fat -F32 /dev/sda1
# mkfs.xfs /dev/sda2
# mkfs.ext4 /dev/sdb1
# mkfs.xfs /dev/sdb3
挂载分区:
# mount /dev/sda2 /mnt
# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot
# mkdir /mnt/var
# mount /dev/sdb1 /mnt/var
# mkdir /mnt/home
# mount /dev/sdb3 /mnt/home
格式化并启动 swap 分区:
# mkswap /dev/sdb2
# swapon /dev/sdb2
选择源,安装基本软件包
用 nano 编辑源:
# nano /etc/pacman.d/mirrorlist
把你喜欢的源前面的 # 去掉。如果你愿意,你可以只使用一个镜像并且把其他行都删掉,但为保险,还是留几个源作备用好。
然后强制更新源:
# pacman -Syy
安装基本软件包,用 pacstrap 来安装基本系统:
# pacstrap -i /mnt base base-devel
使用 -i 选项时会在实际安装前进行确认。
配置
生成 fstab:
# genfstab -U -p /mnt >> /mnt/etc/fstab
生成 fstab 之后检查一下是否正确:
# cat /mnt/etc/fstab
切换到安装好的新系统:
# arch-chroot /mnt /bin/bash
设置 locale,把你需要的 locale 前面的 # 去掉:
# nano /etc/locale.gen
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
接着执行 locale-gen:
# locale-gen
设置系统 locale:
# echo LANG=en_US.UTF-8 > /etc/locale.conf
设置时区:
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
设置 root 密码:
# passwd
配置引导程序,我使用 systemd-boot 引导我的系统:
# bootctl install
# nano /boot/loader/entries/arch.conf
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=/dev/sda2 rw quiet
# nano /boot/loader/loader.conf
timeout 2
default arch
设置主机名:
# echo xx > /etc/hostname
设置网络:
# systemctl enable dhcpcd@enp2s0.service
# pacman -S iw wpa_supplicant dialog
完成安装
退出新系统、卸载分区、重启系统
# exit
# umount -R /mnt
# reboot
使用新系统
添加新用户、设置新用户密码:
# useradd -m -g users -s /bin/bash 新用户名
# passwd 新用户名
安装桌面:
# pacman -Syy
# pacman -S i3
# pacman -S xorg-server xorg-xinit
安装浏览器:
# pacman -S chromium
用新用户登陆并进入桌面:
$ startx