对磁盘进行分区后 ddISO

对磁盘进行分区后 ddISO

我有一个 USB 设备,我试图以具有 2 个分区的方式创建它:一个用于实时 Linux 光盘,另一个用于文档存储。

我使用 gparted 创建了分区,并将启动标志设置为我想要用作实时光盘的分区。现在,我有一个像这样的USB:

Disk /dev/sdc: 14.6 GiB, 15623782400 bytes, 30515200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc3072e18

Device     Boot   Start      End  Sectors  Size Id Type
/dev/sdc1       8439808 30515199 22075392 10.5G 83 Linux
/dev/sdc2  *      51200  8439807  8388608    4G  b W95 FAT32

然后我用ddflash 了一个 Ubuntu iso/dev/sdc2

sudo dd if=/dev/shm/ubuntu-17.04-desktop-amd64.iso of=/dev/sdc2 bs=4M

当光盘闪存到 USB 驱动器时,我尝试从笔记本电脑启动,但显示“未找到操作系统”。当我尝试使用qemu/时kvm,它显示内核恐慌,如下所示:

内核恐慌

我怎样才能正确地做到这一点?

答案1

您收到了找不到运作系统错误,因为通过将 ISO 写入磁盘分区而不是整个磁盘,您会无意中没有将引导加载程序写入磁盘的 MBR 间隙。而且......显然 PC 并不关心启动标志。

我看到两个可能的解决方案,但我必须说,我真的只是从我的[审查]中取出这个。

对磁盘进行分区 ddISO

这个当中最好的部分解决方案是你会很快知道它是否可行。

  1. dd将 ISO 复制到整个 USB 磁盘
  2. 使用分区工具检查U盘是否有分区。如果您看到分区,您可能可以为加密卷添加一个分区。

添加引导加载程序以链式加载到分区中。

这里的想法是在 USB 磁盘的 MBR 间隙中添加一个引导加载程序,并拥有它链负载无论引导加载程序在分区中。链式加载基本上将引导加载程序的功能委托给另一个引导加载程序。我会直接给你 Gentoo 的文档关于这个话题,我认为它相当透彻。

其他

如果以上方法失败,您可以尝试建筑你自己的 Ubuntu ISO,调整它的启动方式。

相关内容