如何将适用于 Windows 和 Debian Live 的 FAT32 放入 USB 闪存驱动器?

如何将适用于 Windows 和 Debian Live 的 FAT32 放入 USB 闪存驱动器?

首先,有时我需要在装有 Windows 7 或更高版本的任意计算机之间传输数据(在极少数情况下,需要从 Mac 传输数据或向 Mac 传输数据)。为此,我更喜欢使用带有 FAT32 分区的 USB 驱动器。其次,我偶尔会从外部媒体启动 Debian Live。为此,我通常会使用完全免费的 USB 驱动器ddhttp://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/,但我准备改变这种创建实时分区的方式。

如何实现这两个目标使用同一个 USB 驱动器?(是的,我知道持久性是不够的:驱动器上的 FAT32 分区必须可在 Windows 下使用,并且 Debian live 必须可启动。是的,我尝试过 Unetbootin;它没有产生可启动的 pendrive;不要问我为什么,我不知道。)

答案1

许多实时 Linux 发行版支持在启动期间回送安装 iso,而 GRUB 支持从 ISO 中加载 Linux。结合这些,就可以将实时 Linux iso 作为一个文件来启动。这应该可以满足您的要求,但请注意,有些发行版不支持此功能,或者至少它们没有正式支持此功能。

首先将 GRUB 安装到您的 USB 驱动器:

将 USB 挂载到 mnt

mount /dev/sdb1 /mnt/usb

要安装以便旧版 BIOS 启动 USB,请使用:

grub-install --target=i386-pc --boot-directory=/mnt/usb/boot /dev/sdb

对于 UEFI 使用:

grub-install --target=x86_64-efi --efi-directory=/mnt/usb --boot-directory=/mnt/usb/boot --removable

如果 /mnt/usb/boot 不存在,则使用 mkdir 创建它,然后执行以下操作:

grub-mkconfig -o /mnt/usb/boot/grub/grub.cfg

然后编辑 /mnt/usb/boot/grub/grub.cfg :

menuentry "Debian live ISO" {
  insmod loopback
  insmod iso9660
  set isofile="/debian.iso"
  loopback loop $isofile
  linux (loop)/install.amd/vmlinuz findiso=$isofile vga=788 -- quiet
  initrd (loop)/install.amd/initrd.gz
}

相关内容