我尝试使用dd方法创建一个可启动的Ubuntu闪存驱动器,
sudo umount /dev/sdb
sudo dd if=/path/to/ubuntu.iso of=/dev/sdb bs=1M
它在USB磁盘上创建文件,但当我尝试启动USB磁盘时,它显示一个“操作系统未找到”的错误。
sudo umount /dev/sdb
sudo dd if=/path/to/ubuntu.iso of=/dev/sdb bs=1M
dd
。sudo umount /dev/sd<?><?>
<?><?>
是一个字母后面跟着一个数字的情况下,通过运行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
sudo dd bs=4M if=path/to/input.iso of=/dev/sd<?> conv=fdatasync status=progress
其中input.iso
是输入文件,而/dev/sd<?>
是你要写入的USB设备(运行lsblk
命令查看所有驱动器,找到适用于你的USB设备的<?>
)。
这种方法快速且从未出现问题。
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
4M
- Andrey Tyukindd
差不多就快到了,但是你还缺了一步。sudo umount /dev/sdX
sudo dd if=/path/to/ubuntu.iso of=/dev/sdX bs=4M && sync
在这里,sdX
代表你的USB设备(可以通过lsblk
来验证)。
sync
这个选项很重要,因为dd
可能会在写操作完成之前返回。
将ubuntu.iso
文件放置在任何硬盘分区中。
然后在终端中使用以下命令挂载ubuntu.iso
文件:
sudo mkdir /media/iso/
sudo mount -o loop /path/to/ubuntu.iso /media/iso
插入您的USB闪存驱动器。我的驱动器是/dev/sdd
。这是一个截图:
你的驱动器可能会自动挂载在/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
挂载文件夹,并将isolinux
目录重命名为syslinux
。然后进入重命名后的文件夹,并将文件isolinux.cfg
重命名为syslinux.cfg
。
重新启动计算机并在BIOS中更改启动顺序,允许从USB驱动器启动。现在,你的Ubuntu USB闪存驱动器将启动,你可以进行安装。
如果你想要一个命令行工具,使用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
是您希望使用的闪存驱动器(它将销毁闪存驱动器上的数据)。lsblk
命令来验证设备。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
cat
代替dd
:sudo -s
cat /path/to/file.iso > /dev/sdX
sync
bootiso myfile.iso
bootiso -d /dev/sde myfile.iso
curl -L https://git.io/bootiso -O
chmod +x bootiso
sudo apt install wimtools
$ dd if=ubuntu-14.04.1-desktop-amd64.iso of=/dev/sdX bs=1MB
cd
命令进入包含.iso文件的文件夹。dd if=FILE NAME HERE.iso of=/dev/sdX bs=1MB
。等待控制台输出类似于以下内容:
1028+1 records in
1028+1 records out
1028653056 bytes (1.0 GB) copied, 55.4844 s, 18.5 MB/s
从USB启动。
注意:确保您写入正确的设备,USB 并不总是挂载在 dev/sdX
的位置,其中 X 可以是任意字母。
sudo
:) 而且对于急躁的人来说,status=progress
总是受欢迎的。 - Sridhar Sarnobat如何从终端创建可启动的Ubuntu USB闪存驱动器?
有内置的文本模式工具,可以从文本屏幕或终端窗口运行。可以使用dd
、cp
或cat
,但它们不安全,因为它们会按照您的指示执行操作而不问任何问题,而一个小的输入错误就足以覆盖具有重要数据的驱动器。
幸运的是,也有更安全的文本模式工具,但您需要安装它们。
通过PPA安装mkusb:如果您运行标准的Ubuntu Live版本,则需要额外的指令来获取宇宙存储库。(Kubuntu,Lubuntu ... Xubuntu会自动激活宇宙存储库。)
sudo add-apt-repository universe # only for standard Ubuntu
sudo add-apt-repository ppa:mkusb/ppa # and press Enter
sudo apt-get update
sudo apt-get install dus mkusb-nox usb-pack-efi
dus
和 mkusb-nox
,还会添加一些 mkusb 依赖的程序包。(如果您尝试安装整个 mkusb 程序包,它还会带来一些需要图形环境的工具。)
如果你想要一个小工具或者不喜欢PPA,也不想要任何额外的程序包,你可以使用mkusb-min。这个shell脚本相比其他版本非常小,但它的作用是在dd
周围绑上一个安全带。
$ wc mkusb-min
208 736 5435 mkusb-min
通过在文本编辑器中阅读,应该很容易看出shell脚本在做什么。
从其Ubuntu帮助页面下载mkusb-min。将其运行在本地或安装到PATH
目录中。
xorriso-dd-target是一个新的工具,旨在上传到Debian存储库。其目的是使创建启动驱动器(USB闪存驱动器或存储卡)变得非常安全。一个特殊功能是插件方法来识别目标设备。手册可以在这里找到。截至2020年1月,还没有任何安装程序,但您可以从上面的链接中复制并粘贴,并手动安装shell脚本和手册。
最后我想提到bootiso,它在另一个答案中由开发者描述。