USB 闪存驱动器上的 FAT32 / NTFS + isofs

USB 闪存驱动器上的 FAT32 / NTFS + isofs

我有一个可启动 USB 记忆棒,如屏幕截图所示:

# dd if=/path/to/os_image.iso of=/dev/sdb
(...everything OK...)

# sudo dumpe2fs /dev/sdb
dumpe2fs 1.42.9 (4-Feb-2014)
dumpe2fs: Bad magic number in super-block while trying to open /dev/sdb
Couldn't find valid filesystem superblock.

GParted 无法识别任何分区。

截屏

GUI 文件管理器将文件系统报告为isofs.系统启动,一切正常。

问题是,我想使用 USB 记忆棒来运行实时操作系统作为仅识别 FAT32 和 NTFS 的 PC 和电视的存储。

我尝试创建两个分区,然后dd创建sdb1唯一sdb1的可启动分区,但系统无法启动。

如何在不使用外部可启动 USB 创建程序的情况下将 FAT32/NTFS 和(任何)可启动 ISO 映像放在 MBR 分区磁盘上?我想像dd现在一样简单地使用 。

据推测,这可以通过使用正确的引导加载程序和正确的配置来解决。我只是不知道哪个引导加载程序以及什么配置。

答案1

有 2 个分区的可启动 USB 拇指驱动器。

即使有多个分区,Windows 和其他系统也可能只能看到 USB 设备上的第一个分区。因此,请将您的第一个主分区设置为 fat32 或 NTFS 分区,以便 Windows 可以看到并使用它。

分区 1 - ntfs 或 vfat

分区 2 - ext4

第二个分区是存储可启动 iso 的位置。使用 grub 加载并选择您要使用的实时操作系统。

脚步:

1:将分区表归零

sudo dd if=/dev/zero of=/dev/sdx bs=512 count=4

2:创建分区(使用cli“fdisk”或gui“gparted”)

创建分区表“msdos”

创建2个分区

p1 = ntfs

p2 = ext4 --标记为可启动。

格式化分区。

3:将grub引导加载程序安装到USB设备

sudo grub-install --boot-directory /mnt/usbp2/boot /dev/sdx

验证:如果这些存在,到目前为止一切都很好......

  • /mnt/usbp2/boot/grub/fonts -- 最小 unicode.pf2
  • /mnt/usbp2/boot/grub/i386-pc -- *.mod 模块加载到 grub.cfg 中
  • /mnt/usbp2/boot/grub/local -- 语言
  • /mnt/usbp2/boot/grub/grubenv -- 环境变量存储

4:为此电脑上的操作系统创建 grub.cfg 文件

sudo grub-mkconfig --output=/mnt/usbp2/boot/grub/grub.cfg

通过 USB 启动进行测试

5:将支持文件复制到U盘

  • iso文件
  • memdisk 二进制文件——从 syslinux 获取
  • grub.cfg——为您的 USB 棒定制。覆盖 grub-mkconfig 创建的 grub.cfg

笔记:每个 live iso 可能需要不同的 grub 信息。

笔记:如果您只获得 grub 命令行,则您的 grub.cfg 可能包含错误。从最少的开始。

6:创建您的自定义 USB 引导安装程序。

复制MBR和分区表

dd if=/dev/sdx of=/custom_boot/cb_mbr.img bs=512 count=1

复制可启动分区

dd if=/dev/sdx2 of=/custom_boot/cb_ext4.img bs=512

7:创建新的可启动USB设备

  • 删除所有现有分区并清理 MBR

    fdisk 或 gparted(删除分区)

    dd if=dev/0 of=/dev/sdx bs=512 计数=1

  • 恢复MBR和分区表

    dd if=/custom_boot/cb_mbr.img of=/dev/sdx bs=512

  • 恢复可启动分区

    dd if=/custom_boot/cb_ext4.img of=/dev/sdx2 bs=512

  • 修复第一个分区并重新格式化(fat32 或 ntfs)

    fdisk 或 gparted

我的grub配置文件

我的笔记

答案2

为了明确这一点 -

  • “我想简单地使用 dd,就像现在一样。”
  • “即使有多个分区,Windows 和其他系统也可能只能看到 USB 设备上的第一个分区。”

我认为这些目标不太现实,所以你必须在某些方面做出妥协。

相关内容