从 Trusty 升级到 Utopic 之前克隆根目录和主目录时出现问题

从 Trusty 升级到 Utopic 之前克隆根目录和主目录时出现问题

我正在尝试将 root 和 home 复制到笔记本电脑内置驱动器上的其他分区,然后从它们启动 (root2 和 home2)。

一旦它工作起来,它就可以成为一个(几乎)实时备份,或者我可以在新的分区上将 Kubuntu Trusty 升级到 Utopic,并消除任何问题,同时仍然让 Trusty 在其他分区上运行,这样我就可以继续完成工作。

我也复制了主页,因为我不想处理诸如 Utopic 中的配置文件更改之类的事情,因为这可能会在我重新启动 Trusty 时搞砸它。

(当我在另一台笔记本上从 Oneiric 升级到 Precise 时,我使用单独的分区作为根目录,但只有一个主目录,这给了我一些乐趣。有些事情有点疯狂。)

它并没有完全发挥作用,所以我一定是错过了什么东西。

这是我所做的:

使用 gparted 将 /dev/sda5 和 /dev/sda7 重新格式化为 ext4(这应该已经清除了它们上面的内容)并再次将它们标记为 root2 和 home2。

停止修改文件(如 bittorrent)的用户任务。(但我没有从实时 CD 等启动。我在正在运行的系统上进行了复制。)

使用 rsync 复制所有内容,并保留权限等,从 root (/dev/sda3) 复制到 root2 (/dev/sda5),从 home (/dev/sda6) 复制到 home2 (/dev/sda7)。(sda3 和 sda5 的大小与 sda6 和 sda7 的大小相同。)

我认为这没有什么区别,但 sda3 标记为“root”,sda5 标记为“root2”,sda6 标记为“home”,sda7 标记为“home2”。

在 /media/bigbird/root2 上安装 /dev/sda5

编辑 /media/bigbird/root2/etc/fstab 并将 root 和 home 的 uuid 更改为 /dev/sda5 和 /dev/sda7 的 uuid。(通过运行 ls -l /dev/disk/by-uuid 并复制和粘贴它们来获取它们。)

运行 grub-customizer,更新启动菜单以在 /dev/sda5 上显示新的操作系统。

我以为我已经完成并重新启动,在 grub2 菜单上选择 /dev/sda5 上的操作系统。

启动看起来不错,但是当我运行 df 时,它显示 root 为 /dev/sda3 而 home 为 /dev/sda6 - 好像什么都没有改变。

再次挂载 /dev/sda5 并验证我对 fstab 的更改仍然存在。确实如此。

注意到 /etc/fstab~ 是编辑后剩下的,并将其删除。

尝试上网,但无法上网。我的 wifi 显示已连接,但有第二个连接实例可用,而这个实例不应该存在。尝试连接该实例,似乎可以连接,但我仍然无法上网。

重新启动到我的原始分区(/dev/sda3) - 它仍然运行良好并且上线没有问题。

显然,我错过了完成这项工作所需的一些步骤。

另外,我似乎让路由器不高兴了,因为当我以新方式启动时,它不让我连接到互联网。我没有尝试直接登录路由器。

复制所有内容、更改 fstab、grub 并重新启动似乎太简单了。

我需要做什么才能让它工作?

编辑:

我已经包含了我的 fstab 和一些其他内容,显示了下面的 UUID。

看起来直接的问题是两个分区上的 grub.cfg 都乱了。

下面的第一个代码块是它的一个片段,显示了 sda5 的精神分裂条目,其根分区设置正确,但启动映像设置为使用 sda3 上的启动映像。(其他条目有同样的问题。)它可能有其他错误。我对此不够熟悉。(仅供参考:sda5 上的内核版本有点旧,因为自从复制它以来,我已经对 sda3 进行了更新,并且还没有再次运行 rsync。)

我刚刚又看了一遍 grub 条目,完全看不出它是怎么工作的!它似乎在 sda3 上寻找内核 46 - 但该内核并不存在。那个较旧的内核只在 sda5 上,因为我还没有再次运行 rsync。

这可能是 grub-customizer 导致的。我不知道。可能需要先修复它,然后再查找其他问题。

由于生成了此文件,我需要间接修复它,但我不知道该怎么做。

/boot/grub/grub.cfg 片段:

### BEGIN /etc/grub.d/30_os-prober_proxy ###
menuentry "Kubuntu 14.04.2 LTS (14.04) (on /dev/sda5) Testing/backup" --class gnu-linux --class gnu --class os $menuentry_id_option '$
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos5'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  2540779$
        else
          search --no-floppy --fs-uuid --set=root 2540779b-43d7-4e38-a227-68057afceb47
        fi
        linux /boot/vmlinuz-3.13.0-46-generic root=UUID=9aae2d22-4393-436a-a505-130db27e0e55 ro quiet splash $vt_handoff
        initrd /boot/initrd.img-3.13.0-46-generic
}

fstabs 和 UUID 信息:

sda3 (current working root partition)

bigbird@ramdass:/etc$ cat fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda3 during installation
UUID=9aae2d22-4393-436a-a505-130db27e0e55 /               ext4    errors=remount-ro 0       1
# /home was on /dev/sda6 during installation
UUID=1be3e600-6582-4fe6-a8bc-b5479f1444b1 /home           ext4    defaults        0       2
# swap was on /dev/sda8 during installation
UUID=3d9fe1af-25fe-4d28-82c9-5c2b4d895b79 none            swap    sw              0       0
bigbird@ramdass:/etc$ 

sda5 (copy of sda3 to be used as a fall back if the upgrade goes south, etc.)

bigbird@ramdass:/media$ sudo mount /dev/sda5 /media/work
bigbird@ramdass:/media$ cd work
bigbird@ramdass:/media/work$ ls
bin   C:\nppdf32Log\debuglog.txt  dev  initrd.img      lib    libnss3.so  opt   run   srv  var      vmlinuz.old
boot  Desktop                     etc  initrd.img.old  lib64  lost+found  root  sbin  usr  vmlinuz
bigbird@ramdass:/media/work$ cd etc
bigbird@ramdass:/media/work/etc$ cat fstab
# /etc/fstab: static file system information.
##JJP Modified for root2 and home2
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / is on /dev/sda5 (root2)
UUID=2540779b-43d7-4e38-a227-68057afceb47 /               ext4    errors=remount-ro 0       1
# /home is on /dev/sda7 (home2)
UUID=8e3aca35-c376-4a71-b6be-5c3c063a184b /home           ext4    defaults        0       2
# swap was on /dev/sda8 during installation
UUID=3d9fe1af-25fe-4d28-82c9-5c2b4d895b79 none            swap    sw              0       0
bigbird@ramdass:/media/work/etc$ 

bigbird@ramdass:/media/work/etc$ ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 Apr  9 03:53 0A1258CF1258C0FD -> ../../sda2
lrwxrwxrwx 1 root root 10 Apr  9 03:53 180E32C60E329CA6 -> ../../sda1
lrwxrwxrwx 1 root root 10 Apr  9 03:53 1be3e600-6582-4fe6-a8bc-b5479f1444b1 -> ../../sda6
lrwxrwxrwx 1 root root 10 Apr  9 03:53 2540779b-43d7-4e38-a227-68057afceb47 -> ../../sda5
lrwxrwxrwx 1 root root 10 Apr  9 03:53 3d9fe1af-25fe-4d28-82c9-5c2b4d895b79 -> ../../sda8
lrwxrwxrwx 1 root root 10 Apr  9 03:53 8e3aca35-c376-4a71-b6be-5c3c063a184b -> ../../sda7
lrwxrwxrwx 1 root root 10 Apr  9 03:53 9aae2d22-4393-436a-a505-130db27e0e55 -> ../../sda3
lrwxrwxrwx 1 root root 11 Apr  9 03:53 accbe348-0237-436f-b1b8-c642b95ec49c -> ../../sda10
lrwxrwxrwx 1 root root 10 Apr  9 03:53 b8f4a41f-5056-4b06-a190-14f9f1ea0244 -> ../../sda9
bigbird@ramdass:/media/work/etc$

答案1

尝试启动 Ubuntu 的 DVD,然后通过以下方式挂载 /dev/sda5:

mkdir /tmp/sda5
mount /dev/sda5 /tmp/sda5

然后,在此之后,编辑fstab

nano /tmp/sda5/etc/fstab

您应该查找以“/”开头的行。这应该/dev/sda5不是/dev/sda3。如果不是,则进行适当调整。还要确保您的/home和其他设置在文件中正确无误,并指向正确的分区。

使用以下方法检查fdisk

sudo fdisk -l

或使用gparted

sudo apt-get install -y gparted
gksudo gparted

一旦 fstab 修复,请重新启动,现在您应该拥有 root 权限/dev/sda5

相关内容