如何将可启动的 Ubuntu USB 驱动器克隆到更大的驱动器中?

如何将可启动的 Ubuntu USB 驱动器克隆到更大的驱动器中?

我有一个可启动的 32 GB Ubuntu USB 棒具有持久存储。

32 GB USB 记忆棒吃饱了,所以我想将其克隆到 64 GBUSB 记忆棒和增加这俩casper-rw数据接口分割。

我该怎么做不会丢失任何数据

以下是我将 32 GB USB 驱动器克隆到 64 GB USB 驱动器的方法。首先,我发出以下命令:

lsblk

得到了这个结果: 终端上的 lsblk 结果

其次,我使用了 DD 命令:

sudo dd if=/dev/sdb of=/dev/sde status=progress

第三,我关闭电脑,取出 32 GB 的 U 盘,然后打开电脑。系统从新的 USB 盘正确启动,似乎所有文件都在那里。

第四,我加载了 GParted 实用程序,以下是快照: GParted 快照

现在回到我最初的问题:我该如何使用可用/未分配的空间来增加 casper-rw 和 usbdata 分区而不丢失任何数据?

答案1

使用 mkusb 克隆

您可以使用以下方式从驱动器克隆到另一个驱动器mkusb. 通过图形界面或使用

dus /dev/sdx

其中 x 是设备字母或克隆操作中的源。将通过菜单以安全的方式选择目标。

  • mkusb 用安全带包裹dd
  • 如果有 GUID 分区表 GPT,mkusb 会修复驱动器尾端的备份分区表。(否则,您必须手动执行此操作,例如使用gdisk。)

克隆后,您可以使用 编辑分区gparted。如果您只触及casper-rw分区和usbdata分区(如果是 MSDOS 分区表,则为扩展分区),则启动不会受到影响。

编辑:如何编辑分区以填充驱动器。

  • 确保您有备份(例如原始驱动器)。
  • 如何使用gparted
  • 从另一个驱动器启动
  • 卸载目标驱动器上的所有分区
  • 启动并检查和gparted上没有锁符号。/dev/sdb1/dev/sdb5
  • 移至/dev/sdb1尾端(右侧)
  • 将其左边框/dev/sdb1向左拖动,直到达到所需大小
  • 将 /dev/sdb5 的右边框拖到右侧以使用所有剩余的未分配驱动器空间。两个分区应该“互相接触”。
  • 检查事情是否符合您的要求。
  • 点击勾选图标开始操作。
  • 请稍候...这将需要很长时间。请确保电量充足(不要使用电池)。

如果你使用克隆,dd你需要修复驱动器尾端的备份分区表,gdisk或者使用gpt 修复

编辑:gdisk命令选项从中剪切gpt-fix

echo \
"v
x
e
r
d
w
y" \
| gdisk "$1"

如果直接运行(而不是在 shellscript 中),则其中"$1"应该替换为目标设备。/dev/sdx

这些命令字母的解释如下

man gdisk

关键命令是

在专家菜单中

   e      Move backup GPT data structures to the end of the disk. Use this
          command if you've added disks to a RAID array, thus  creating  a
          virtual  disk with space that follows the backup GPT data struc‐
          tures. This command moves the backup GPT data structures to  the
          end of the disk, where they belong.

在恢复和转换菜单中

   d      Use  main  GPT  header  and  rebuild  the backup. This option is
          likely to be useful if the backup GPT header has been damaged or
          destroyed.

其他命令是验证、在菜单之间移动和写入。

OP 添加的链接@BlueSkies:

无法卸载 GParted 的分区 - 这是个问题吗?

GParted 无法完成步骤 1

GParted 正在显示

使用 mkusb 克隆、从原始 USB 驱动器复制分区并从新的更大的驱动器启动后,我无法访问 usbdata。

访问 usbdata 分区被阻止

请提供建议。谢谢!


建议:请发布以下命令行的输出(从新的更大的棒启动时),

sudo lsblk -f
sudo lsblk -m
sudo ls -l /mountpoint-to-usbdata
sudo ls -l /mountpoint-to-casper-rw

您可以在其中输入实际的挂载点来查看usbdatacasper-rw

这将帮助我了解问题是什么,以便我可以建议下一步该做什么。

编辑您的原始问题在我的答案中输入这些输出文本,而不是在这里。每行缩进 4 个字符,以便将输出呈现为代码。您可以标记(高亮显示)文本并单击{} 编辑窗口顶部的图标即可快速进行缩进。

上述四个命令的输出:

该命令 sudo lsblk -f 给出以下结果

在此处输入图片描述

另一个(sudo lsblk -m)输出以下信息:

sudo lsblk -m 结果

最后两个命令和结果:

结果1

在此处输入图片描述

答案2

您可以尝试 ddrescue 或 gddrescue。

sudo apt-get install gddrescue ddrescue
ddrescue /dev/sda /dev/sdb -v

答案3

只需打开 ubuntu 并安装 gparted,卸载所有要克隆的分区。在 Gparted 中选择 usb A 中的分区,然后复制 >> 粘贴到另一个 usb B。在此处输入图片描述

相关内容