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

Avi*_*Raj 458 live-usb command-line portable system-installation

有没有办法在不使用任何第三方应用程序(如YUMIUnetbootinStartup Disk Creator等)的情况下从终端创建可启动的 Ubuntu USB 闪存驱动器。

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

sudo umount /dev/sdb
sudo dd if=/path/to/ubuntu.iso of=/dev/sdb bs=1M
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*arc 594

您可以使用dd.

sudo umount /dev/sd<?><?>  
Run Code Online (Sandbox Code Playgroud)

其中<?><?>是一个字母后跟一个数字,通过运行查找它lsblk

它看起来像

sdb      8:16   1  14.9G  0 disk 
??sdb1   8:17   1   1.6G  0 part /media/username/usb volume name
??sdb2   8:18   1   2.4M  0 part 
Run Code Online (Sandbox Code Playgroud)

我会卸载sdb1

然后,下一步(这是一个破坏性命令,会用 iso 的内容擦除整个 USB 驱动器,所以要小心):

sudo dd bs=4M if=path/to/input.iso of=/dev/sd<?> conv=fdatasync  status=progress
Run Code Online (Sandbox Code Playgroud)

input.iso输入文件在哪里,以及/dev/sd<?>您正在写入的 USB 设备(运行lsblk以查看所有驱动器以找出<?>适合您的 USB 的设备)。

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


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

sudo dd if=inputfile.img of=/dev/disk<?> bs=4m && sync
Run Code Online (Sandbox Code Playgroud)

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

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


小智 125

您几乎可以使用dd,但您错过了一步。

sudo umount /dev/sdX
sudo dd if=/path/to/ubuntu.iso of=/dev/sdX bs=4M && sync
Run Code Online (Sandbox Code Playgroud)

sdX您的 USB 设备在哪里(可以通过 验证lsblk)。

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


Avi*_*Raj 102

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

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

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

    sudo mkdir /media/iso/
    sudo mount -o loop /path/to/ubuntu.iso /media/iso
    
    Run Code Online (Sandbox Code Playgroud)
  • 插入您的 USB 闪存驱动器。我的驱动器是/dev/sdd. 这是一个屏幕截图:

GParted 截图

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

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

    cp -a /media/iso/. /media/xxx/
    
    Run Code Online (Sandbox Code Playgroud)
  • 接下来,您需要ldlinux.sysUSB 闪存驱动器中的文件以使 USB可启动。我的 USB 分区是/dev/sdd1; 进入lsblk看看你的是什么。运行以下命令:

    sudo apt-get install syslinux mtools
    sudo syslinux -s /dev/sdd1
    
    Run Code Online (Sandbox Code Playgroud)
  • 导航到/media/xxx挂载文件夹并将isolinux目录重命名为syslinux. 然后进入重命名的文件夹并将文件重命名isolinux.cfgsyslinux.cfg.

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

此方法适用于任何 Linux 发行版,而不仅仅是 Ubuntu。你不需要安装任何第三方软件来制作 Linux U 盘

  • 由于目标很胖,而源显然是一些支持符号链接的 fs,这会产生关于无法创建符号链接的错误 (2认同)

Pan*_*her 44

你有两个选择。

如果您需要图形界面,请使用 usb-creator(它在 ubuntu 存储库中)

在此处输入图片说明

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

#Replace X accordingly in both commands

sudo umount /dev/sdX
sudo dd if=/path/to/ubuntu.iso of=/dev/sdbX bs=1M
Run Code Online (Sandbox Code Playgroud)

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

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


mch*_*hid 35

首先,卸载USB设备,然后使用lsblk验证设备。

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

sudo apt-get install syslinux
Run Code Online (Sandbox Code Playgroud)

然后运行以下命令:

sudo mkfs -t vfat -I /dev/sdX
Run Code Online (Sandbox Code Playgroud)

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

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

isohybrid /path/to/file.iso --entry 4 --type 0x1c
dd if='/path/to/file.iso' of=/dev/sdX bs=8M
Run Code Online (Sandbox Code Playgroud)

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

pv -tpreb /path/to/file.iso | dd of=/dev/sdX bs=8M
Run Code Online (Sandbox Code Playgroud)

或代替dd,您可以使用cat

sudo -s
cat /path/to/file.iso > /dev/sdX
Run Code Online (Sandbox Code Playgroud)

记得发出同步命令来刷新写缓存

sync
Run Code Online (Sandbox Code Playgroud)

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


Jul*_*lph 22

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

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

如何使用它

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

bootiso myfile.iso
Run Code Online (Sandbox Code Playgroud)

或明确提供 USB 设备:

bootiso -d /dev/sde myfile.iso
Run Code Online (Sandbox Code Playgroud)

快速安装

curl -L https://git.io/bootiso -O
chmod +x bootiso
sudo apt install wimtools
Run Code Online (Sandbox Code Playgroud)

看到它在行动


小智 9

$ dd if=ubuntu-14.04.1-desktop-amd64.iso of=/dev/sdX bs=1MB
Run Code Online (Sandbox Code Playgroud)

不要用路径来咬。

  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
    
    Run Code Online (Sandbox Code Playgroud)
  4. 从 USB 启动。

注意:确保您写入正确的设备,USB 并不总是安装在:dev/sdX其中 X 可以是任何字母。