我的电脑正在运行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。
答案 0 :(得分:0)
我弄明白了这个问题。我忘了更新/boot/loader/entries/arch.conf,所以gummiboot bootloader实际上加载了/ dev / sda2而不是/ dev / sdb2。因为sda2不包含/ home /,所以找不到/ home /。