
问题介绍
我想尝试将系统映像(iso文件)刻录到Linux上的USB闪存驱动器上以制作启动盘.
原因

个人需求.
解决方案Linux
使用dd直接刻录.

# 1.确定你的U盘的设备号,注意,一般而言,对于你外插的U盘,是/deb/sdb,而且默认有几个分区,即sdb1等 $ sudo fdisk -l # 2.如果U盘被自动挂载,请使用U盘设备号先umount $ sudo umount /dev/sdb* # 3.准备好一个iso文件,使用dd命令将这个iso写入u盘 # if=后面跟要刻录到u盘的iso文件路径 # of=后面是u盘设备号(**不需要带分区号**,即直接使用sdb) # 写入过程是没有数据显示的,只要输出和输入路径没错,耐心等待即可,根据U盘读写速度以及iso文件大小,一般需要5~10分钟左右 $ sudo dd if=~/ubuntu-16.04-desktop-amd64.iso of=/dev/sdb # 如果你想查看写入过程,
默认情况下,dd不指示写入过程的进度. 请参阅本文(),可以使用以下两种方法进行增强:
#(1)重新打开一个终端窗口,通过以下命令来查看其下载进度(dd进度会在原窗口显示): $ watch -n 1 pkill -USR1 -x dd #(2)直接在dd指令后添加 $ sudo dd if=/home/kumata/ubuntu.18.04.img of=/dev/sdb bs=4M status=progress

由于使用dd命令直接将iso文件数据写入U盘,因此U盘不包含标准分区表,这导致系统无法正常识别其大小并且无法正常使用. 用它安装系统后,如果不需要U盘安装盘,则可以使用以下方法还原U盘.
此外,如果dd编程被中断,您还可以使用以下方法恢复U盘.
#0.操作前请用sudo fdisk -l查看U盘分区号,请谨慎操作,不要误写硬盘分区,本例U盘分区号是/dev/sdb #1.使用dd命令,将0写入U盘的前512字节(代表主引导记录中的引导代码和分区表) # count=1,写入一次 # bs=512,写入的大小512(byte) # if=/dev/zero,从系统0读取0 # of=/dev/sdb,写入到U盘中 $ sudo dd count=1 bs=512 if=/dev/zero of=/dev/sdb #2.使用fdisk分区(最好先使用p查看一下还有没有分区,如果第一步操作无误,p将查看不到分区, #如果还保留着原有分区,则删除现有分区,重新创建分区),例如只重新划分了一个分区sdb1 $ sudo fdisk /dev/sdb #查看现有分区,如果第一步成功,下面将看不到分区 命令(输入 m 获取帮助): p #创建新分区,一路默认回车 命令(输入 m 获取帮助): n ... #将分区更改成NTFS类型,以便Win系统也能识别 命令(输入 m 获取帮助): t Selected partition 1 Hex code (type L to list codes): 7 Changed system type of partition 1 to 7 (HPFS/NTFS/exFAT) #保存 命令(输入 m 获取帮助): w #3.重新将U盘拔出插入,如果分区自动挂载,请先卸载,然后对该分区进行格式化,格式化成fat是为了让Windows也能识别(mkfs格式化ntfs非常慢,如果想要格式化成ntfs的,可以用mkfs.ntfs替换) $ sudo umount /dev/sdb1 $ sudo mkfs.fat /dev/sdb1

可以引导dd命令直接将Linux iso写入USB闪存驱动器的原因是因为这些Linux iso带有引导文件,因此使用dd将Windows iso写入USB闪存驱动器将无法引导.
Windows
可以看到有关在Linux上刻录Windows映像的讨论:
参考链接
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/sanxing/article-298094-1.html
10万放余额宝里一年在3000左右利息
红烧肉