我的电脑正在运行ArchLinux . 我的电脑有两个硬盘,/ dev / sda和/ dev / sdb . sda是源磁盘并包含我的所有文件 . sdb是目标磁盘,当前为空 . 我的目的是将sda的副本复制到sdb,并使sdb成为另一个可启动的ArchLinux安装 .
sda有三个分区:sda1用于/ boot,sda2用于/,sda3用于/ home . 这是它的/ etc / fstab:
/dev/sda2 / ext4 rw,relatime,data=ordered 0 1
/dev/sda1 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2
/dev/sda3 /home ext4 rw,relatime,data=ordered 0 2
我将sdb格式化为仅两个分区:sdb1用于/ boot,sdb2用于/ . 我使用rsync将sda1复制到sdb1,将sda2和sda3复制到sdb2 . 然后我还更新了UEFI bootloader和/ etc / fstab:
/dev/sdb2 / ext4 rw,relatime,data=ordered 0 1
/dev/sdb1 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2
问题是,当我从sdb启动时,sdb1和sdb2都自动挂载,但/ home为空 . 在/ home下找不到我的个人主目录 . 这是为什么?
后来我从sda重启,然后手动挂载sdb2并确认我的个人主目录在/ home .
1 回答
我解决了这个问题 . 我忘了更新/boot/loader/entries/arch.conf,所以gummiboot bootloader实际上加载了/ dev / sda2而不是/ dev / sdb2 . 并且因为sda2不包含/ home /,所以找不到/ home / .