「ArchLinux」迁移家目录至家分区

警告
本文最后更新于 2021-10-18,文中内容可能已过时。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
      /\           The storm is coming and you cannot stop it. 
     /  \           • track 
    /\   \          • i7-10875H (16) [81.0°C] 
   /      \        ﬙ • GeForce RTX 2060 Mobile 
  /   ,,   \        • 1d 2h 36m 
 /   |  |  -\      ﴾ • 7.47GiB / 15.49GiB 
/_-''    ''-_\      • 104G / 457G (24%) 
                    • 205G / 469G (46%) 
                    • Linux 6.2.5-arch1-1 
                    • Plasma 5.27.2 
                    • kwin 
                    • zsh 5.9 
                    • 2653 (pacman) 

众所周知 arch 是一个不太稳定的 Linux 发行版, 如果你不太了解它的话, 可能在某次 Syyu 之后你的系统就挂掉了. 那么家分区的创建可以很好的减轻重装系统带来的痛苦, 因为你的所有软件的配置文件等等都将放在一个独立的磁盘上. 那么我们就不需要对它重建分区表或格式化, 只需把家分区挂载到家目录, 就可以有一个几乎无差别的体验.

  • 当然你最好有一块新的硬盘,这会给你带来很大的便利
  • 确保你知道关于 Linux 的一些基本知识,包括但不限于挂载、分区表、格式化

首先使用 sudo fdisk -l 查看你要用来充当家分区的那个设备:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
Disk /dev/nvme1n1:476.94 GiB,512110190592 字节,1000215216 个扇区
磁盘型号:WDC PC SN730 SDBPNTY-512G-1101          
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:8A2B1D47-FB8A-1445-8C3D-F79911E19791

设备            起点       末尾       扇区   大小 类型
/dev/nvme1n1p1  2048 1000215182 1000213135 476.9G Linux 文件系统

Disk /dev/nvme0n1:465.76 GiB,500107862016 字节,976773168 个扇区
磁盘型号:WDC WDS500G2B0C-00PXH0                  
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:A923A28F-7A38-C84C-BEF8-ADFDFDA258A5

设备              起点      末尾      扇区   大小 类型
/dev/nvme0n1p1    2048   2099199   2097152     1G Linux 文件系统
/dev/nvme0n1p2 2099200 976773134 974673935 464.8G Linux 文件系统

比如说我的是 /dev/nvme1n1 这个设备。接着使用 sudo fdisk /dev/nvme1n1 进入 fdisk,然后先 g,接着 n ,一路回车表示使用默认值,最后 w 即可写入。

不要忘记使用 sudo fdisk -l 确保正确,接着你可能需要重启一下你的电脑,否则无法进行格式化,如果你的系统还在使用这个设备的话。

格式化使用 sudo mkfs.ext4 /dev/nvme1n1p1

注意: 格式化的是分区而不是设备!

之后就是挂载了,我们使用 sudo mount /dev/nvme1n1p1 /mnt 将设备挂载到 /mnt 目录,可以选择删除 /mnt/lost+found

然后将家目录整个复制过来,sudo cp -rp /home/* /mnt,并 sudo mv /home /home.orig 同时创建新的家目录 /home

接着 cd / 避免挂载失败,然后更改挂载点 :

1
2
sudo umount /dev/nvme1n1p1
sudo mount /dev/nvme1n1p1 /home

随后测试一下 df /dev/nvme1n1p1 这个命令帮助我们查看设备的使用情况和挂载情况。

上面基本已经算完成了,但是还有最关键的一步:就是更改 /etc/fstab ,实际上这个文件记录了开机时有哪些分区以及挂载信息,sudo vim /etc/fstab 写入下面这一行:

1
/dev/nvme1n1p1    /home    ext4    defaults    0    0

然后重启你的系统就好了!如果确定无误,可以删除 /home.orig

在我重启之后卡在了sddm,一度让我怀疑是迁移哪里出了问题。但是我经过查看 sudo journalctl -b -1,一番折腾,发现在卡住的页面居然可以打开终端!原来是 KDE 炸了,不得不去 /var/cache 里找历史版本回滚上,然后重启才恢复正常。这让我考虑更换一个窗口管理器,例如 i3 或者 dwm ,因为一个桌面环境确实增加了一些不稳定因素(虽然可能窗口管理器也可能有这种问题),不管怎么样还是想试试,之后应该也会相应的更一篇关于 st 以及 dwm 等等的配置之类的。

相关内容