将系统的可启动映像写入内部磁盘,无需删除数据分区

将系统的可启动映像写入内部磁盘,无需删除数据分区

我有一个内部硬盘,分区如下:

[---- 100 GB unused ----|----------- 800 GB data ------------]

  • 100 GB 未使用或“待删除”的旧分区/dev/sdb1, /dev/sdb2,/dev/sdb3
  • 800 GB NTFS重要数据分区/dev/sdb4(我有备份)

我还有一个ubuntu.img包含已安装 Ubuntu 的 10GB 磁盘映像(它不是“安装程序磁盘”映像)。该映像可以从 VirtualBox 运行,也可以使用 写入外部 USB 硬盘dd if=ubuntu.img of=/dev/sdc,然后我可以成功启动该外部 USB 硬盘。当我使用 VirtualBox 启动此映像时,在虚拟机内lsblk显示以下内容:

在此输入图像描述

问题:如何将此映像写入ubuntu.img我的内部 HDD(在 /dev/sdb?sdb1?)中,以便:

  • 我可以启动它
  • /dev/sdb4 未被删除

一方面,如果我这样做dd if=ubuntu.img of=/dev/sdb,分区表可能会被擦除并/dev/sdb4丢失。另一方面,如果我dd if=ubuntu.img of=/dev/sdb1,它可能无法启动,对吗?

答案1

  1. 用于fdiskd卷删除sdb1sdb3
  2. 还是在fdisk,创建一个n新卷sdb1,覆盖整个可用的 100 GB 空间
  3. 现在您只想将sda1映像复制到sdb1,因此需要fdisk ubuntu.img打印p映像的分区表并读取第一个映像分区的起始扇区和扇区数
  4. dd if=ubuntu.img of=/dev/sdb1 skip=<start-sector> count=<sectors>
  5. 最后,您可以扩展文件系统sbd1以使用卷的整个大小(可能使用resize2fs /dev/sdb1

相关内容