![将 Ubuntu 从 USB 闪存盘克隆到内部 SSD 的分区](https://linux22.com/image/935047/%E5%B0%86%20Ubuntu%20%E4%BB%8E%20USB%20%E9%97%AA%E5%AD%98%E7%9B%98%E5%85%8B%E9%9A%86%E5%88%B0%E5%86%85%E9%83%A8%20SSD%20%E7%9A%84%E5%88%86%E5%8C%BA.png)
我已经在 USB 驱动器上安装了 Ubuntu 一段时间了。我无法将它与 Windows 一起安装,因为我的 SSD 处于 RAID 模式而不是 AHCI,所以 Ubuntu 无法检测到它。但最近我买了一台新笔记本电脑,并切换到 AHCI 模式,没有丢失数据的风险,因为这台电脑是全新的。
现在 Ubuntu 可以检测到我的内置 SSD,我想将它从我的 USB 驱动器克隆到我的 SSD 的一个分区,与 Windows 10 一起。我选择使用命令 dd 来执行此操作(我已经成功地用它将 Ubuntu 从一个 USB 密钥克隆到另一个),但这次效果不太好。
我运行了 Ubuntu 18.04 的实时会话,插入装有 Ubuntu 的 USB 密钥,然后启动 gparted 以创建用于克隆操作的分区。我卸载了 /dev/sdb(我的 Ubuntu USB 密钥)以及 /dev/nvme01(SSD),然后启动了以下命令:
sudo dd status=progress if=/dev/sdb of=/dev/nvme01p4
该过程运行良好,但在 gparted 中,分区 nvme01p4(应该包含我的 Ubuntu 的克隆)未被正确检测到(参见屏幕截图)dd 命令后的 gparted 屏幕截图。启动菜单中似乎有一个新的 Ubuntu 选项,但它会引导我进入 grub 控制台,我不知道该怎么做。
所以我问你我可能做错了什么?
谢谢,
安德森
答案1
您使用了一条命令,用于将整个驱动器复制到单个分区。此外,该命令还用于大小相同的驱动器,因此您可以将所有内容从一个驱动器复制到另一个驱动器,而无需手动调整分区大小以使用更大的整个空间。看来您已经为 Ubuntu 腾出了空间,因此现在完成它应该是一个相当直接的操作。在EFI
模式下启动您的安装媒体,否则它将永远无法工作,并在程序中尝试以下操作Terminal
。
sudo mkdir /tmp/old
sudo mkdir /tmp/new
sudo mkfs.ext4 /dev/nvme01p4
sudo mount /dev/nvme01p4 /tmp/new
sudo mount /dev/sd?? /tmp/old
sudo rsync -avP /tmp/old/* /tmp/new/
sudo mkdir /tmp/new/boot/efi
sudo umount /boot/efi
sudo mount /dev/nvme01p1 /boot/efi
您需要使用旧安装的驱动器号和字母代替 ??。此时,所有内容都应复制并安装在新驱动器上,只需进行编辑即可使其能够正常启动。您需要找到系统UUIDs
从新磁盘运行。这里我向您展示我的。
root@zeus-H370M:~# blkid | grep nvme
/dev/nvme0n1p1: LABEL_FATBOOT="EFI" LABEL="EFI" UUID="67E3-17ED" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="f2d84cb4-e597-4ac4-a2b2-10f0351c8784"
/dev/nvme0n1p2: UUID="553b41c8-8991-4646-a221-46b9b700b213" TYPE="apfs" PARTUUID="a9e442d9-2bef-43f0-8cf1-8d0c6ddce488"
现在是 /etc/fstab 中的这些条目。
root@zeus-H370M:~# cat /etc/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>
# / was on /dev/nvme0n1p2 during installation
UUID=553b41c8-8991-4646-a221-46b9b700b213 / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=67E3-17ED /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0
完成此编辑后。
sudo nano /tmp/new/etc/fstab
将 blkid 命令的值更改为您获得的值,/dev/nvme0n1p4
安装所需的分区就是所需的分区/
。现在您可以尝试chroot
安装引导加载程序,但我认为这篇文章中的想法可能是最好的做法。您将卸载旧的安装驱动器并执行此操作,这样它就不会干扰该过程。修复后,您应该可以在菜单中安装 Windows 和 Ubuntu 这两个列出的操作系统GRUB
。