如何从终端创建可启动的Ubuntu USB闪存盘?

有没有办法从终端创建可启动的Ubuntu USB闪存驱动器,而不使用任何第三方应用程序,如YUMI , Unetbootin , Startup Disk Creator等。

我尝试用dd方法创建一个可启动的Ubuntu闪存驱动器,

 sudo umount /dev/sdb sudo dd if=/path/to/ubuntu.iso of=/dev/sdb bs=1M 

它在USB磁盘上创建文件,但是当我尝试启动USB磁盘时,它会显示“ Operating System Not Found错误。

你可以用dd

  sudo umount /dev/sd 

其中是一个字母后跟一个数字,查找它。 接下来:

  sudo dd bs=4M if=input.iso of=/dev/sd conv=fdatasync 

其中input.iso是输入文件, /dev/sd是您要写入的USB设备(运行lsblk查看所有驱动器以找出适用于您的USB)。

这种方法很快,从来没有让我失望过。


编辑:对于那些在Mac上结束的人,使用小写表示bs=4m

 sudo dd if=inputfile.img of=/dev/disk bs=4m && sync 

编辑:如果USB驱动器无法启动(这发生在我身上),那是因为目标是驱动器上的特定分区而不是驱动器。 所以目标需要是/ dev / sdc而不是dev / sdc 对我来说它是/ dev / sdb。

参考: https : //superuser.com/a/407327和https://askubuntu.com/a/579615/669976

从终端创建可启动的Ubuntu USB闪存驱动器

  • ubuntu.iso文件放在任何硬盘分区中。

  • 然后在终端中使用以下命令安装ubuntu.iso文件:

     sudo mkdir /media/iso/ sudo mount -o loop /path/to/ubuntu.iso /media/iso 
  • 插入USB闪存盘。 我的驱动器是/dev/sdd 。 这是一个截图:

GParted截图

  • 您的驱动器可能会自动安装在/media/ 。 我们假设它已安装在/media/xxx/

  • 通过运行以下命令将所有文件从/media/iso/复制到已安装的USB闪存驱动器(确保包含点):

     cp -a /media/iso/. /media/xxx/ 
  • 接下来,您需要USB闪存驱动器中的ldlinux.sys文件才能使USB 启动 。 我的USB分区是/dev/sdd1 ; 输入lsblk看看你的是什么。 运行以下命令:

     sudo apt-get install syslinux mtools sudo syslinux -s /dev/sdd1 
  • 导航到/media/xxx mount文件夹,并将isolinux目录重命名为syslinux 。 然后进入重命名的文件夹并将文件isolinux.cfg重命名为syslinux.cfg

  • 重新启动PC并更改BIOS中的引导顺序以允许从USB驱动器引导。 现在您的Ubuntu USB闪存驱动器将启动,您可以安装它。

这种方法适用于任何Linux发行版,而不仅仅适用于Ubuntu。 您无需安装任何第三方软件即可制作Linux USB闪存驱动器

你几乎和dd在一起,但是你错过了一步。

 sudo umount /dev/sdX sudo dd if=/path/to/ubuntu.iso of=/dev/sdX bs=4M && sync 

其中sdX是你的usb设备(这可以用lsblkvalidation)。

sync位很重要,因为dd可以在写操作完成之前返回。

你有两个选择。

如果您需要图形界面,请使用usb-creator(它位于ubuntu repos中)

在此处输入图像描述

如果需要命令行工具,请使用dd

 #Replace X accordingly in both commands sudo umount /dev/sdX sudo dd if=/path/to/ubuntu.iso of=/dev/sdbX bs=1M 

请确保/dev/sdX是您要使用的闪存驱动器(它会破坏闪存驱动器上的数据)。

有关其他信息,请参阅https://help.ubuntu.com/community/Installation/FromUSBStick 。

首先,卸载USB设备,然后使用lsblkvalidation设备。

有时(通常是旧的iso文件)dd是不够的,pendrive将无法启动。 在这种情况下,您可能需要安装syslinux:

 sudo apt-get install syslinux 

然后运行以下命令:

 sudo mkfs -t vfat -I /dev/sdX 

您希望将最后一个命令运行到/dev/sdX不是 /dev/sdX1

然后,继续执行以下命令:

 isohybrid /path/to/file.iso --entry 4 --type 0x1c dd if='/path/to/file.iso' of=/dev/sdX bs=8M 

或者,要查看图像写入的进度:

 pv -tpreb /path/to/file.iso | dd of=/dev/sdX bs=8M 

或者代替dd ,你可以用cat代替:

 sudo -s cat /path/to/file.iso > /dev/sdX 

记住发出sync命令来刷新写入缓存

 sync 

web.archive.org/web/20140327085331/https://tails.boum.org/doc/first_steps/installation/manual/linux/index.en.html

 $ dd if=ubuntu-14.04.1-desktop-amd64.iso of=/dev/sdX bs=1MB 

不要使用位路径。

  1. 使用cd命令转到包含.iso文件的文件夹
  2. 使用命令dd if=FILE NAME HERE.iso of=/dev/sdX bs=1MB
  3. 等到控制台输出看起来像这样:

     1028+1 records in 1028+1 records out 1028653056 bytes (1.0 GB) copied, 55.4844 s, 18.5 MB/s 
  4. 从USB启动。

注意:确保写入正确的设备,usb不会始终安装在: dev/sdX ,其中X可以是任何字母。

如果用“第三方”表示“gui”, 我建议在Avinash Raj回答之后使用名为bootiso的轻量级脚本 ,因为dd并不总是有效。 最重要的是它非常安全(执行许多安全检查,不会弄乱系统),易于安装和移植。

此外, bootiso将检查ISO文件以从两种模式中进行选择:当ISO文件是混合时,图像复制( dd ),这是USB友好的。 当ISO文件是非混合模式时的mount-rsync模式,在这种情况下,如果支持,将自动安装SYSLINUX引导加载程序[ 有关自动行为的更多详细信息 ]。

如何使用它

第一个选项,只提供ISO作为第一个参数,系统会提示您从lsblk中提取的列表中选择一个驱动器:

 bootiso myfile.iso 

或明确提供USB设备:

 bootiso -d /dev/sde myfile.iso 

快速安装

 curl -L https://git.io/bootiso -O chmod +x bootiso 

看到它在行动:

试试这个,从来没有让我失败100多次:

格式化卡:

 $ sudo mkfs.vfat -F32 /dev/sdx 

挂载ISO映像:

 $ sudo mount ubuntu.iso /mnt 

将内容复制到卡片:

 $ sudo cp -rvf /mnt/* /SD_CardMountPoint 

然后:

  • isolinux文件夹重命名为syslinux
  • syslinux/isolinux.cfg重命名为syslinux/syslinux.cfg
  • syslinux/isolinux.bin重命名为syslinux/syslinux.bin
  • 运行syslinux -s /dev/sdx