如何从命令行制作可启动 USB?

如何从命令行制作可启动 USB?

这个问题很常见,但我无法用我在这里找到的解释来解决它。

情况:

  • 4GB U 盘
  • Manjaro 操作系统
  • linux mint 的 iso 镜像文件

首先,我做了:

lsblk # and got /dev/sdb for my usb stick
      # I left it unmounted
dd if=/dev/zero of=/dev/sdb # filled it up with zeros
fdisk # Here, I created a DOS partition table and 1 partition 
      # containing the boot flag
mkfs.vfat /dev/sdb # made the fat filesystem on the usb stick

dd if=linuxmint-18-xfce-64bit.iso.part of=/dev/sdb bs=4M 
# Now, I copied the ismoimage onto the usb stick
echo $? # I checked, if dd finished without error, the exit status was 0
mount /dev/sdb /mnt  #I mounted the usb stick and listed its content
# the content surprised me, it was not the isoimage-file but this:

引导 casper dists EFI isolinux MD5SUMS 池预置 README.diskdefines

然后,我将 uefi 中的启动顺序设置为 USB 记忆棒,但它不起作用,我只看到了 GRUB 加载程序窗口并像往常一样启动到 Manjaro。

答案1

您应该验证.iso图像:验证 ISO 映像的步骤

可用的 Linux 映像带有.iso扩展名,但没有.iso.part

在拔掉 USB 之前,建议运行sync

有一个例子:

dd if=linuxmint-18-xfce-64bit.iso of=/dev/sdb bs=4M status=progress oflag=sync

编辑

sync是为了确保在命令返回之前所有写入都被刷新。

if是输入文件(或设备),of是输出文件(或设备)

bs=4M告诉dd以 4 MB 的块读/写以获得更好的性能;默认是512字节,会慢很多

progress:显示周期性传输统计信息。

联机帮助页:dd

答案2

如果您不知道您的 USB 设备块文件(例如/dev/sdb),并且想要确保您没有写入SATA 系统驱动器之一,您可以使用更安全的bootiso utility

您可以明确指定您的 USB 设备名称(如果不通过USB连接将会失败):

bootiso -d /dev/sdb linuxmint-18-xfce-64bit.iso

或者让他帮你找到:

bootiso linuxmint-18-xfce-64bit.iso

看看它的实际效果:

相关内容