You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Linux环境下制作Windows可引导U盘:如何找到正确的ISO写入路径

Linux环境下制作Windows可引导U盘:如何找到正确的ISO写入路径

嗨,我来帮你搞定这个问题!你遇到的核心问题是用dd的时候把ISO写到了U盘的挂载目录/media/nicholas/win/),但dd需要直接写入U盘的块设备文件(比如/dev/sdb),而不是已经挂载的目录。下面一步步教你怎么操作:

第一步:先卸载已挂载的U盘分区

首先得把你当前挂载的/media/nicholas/win/卸载掉,避免写入冲突:

sudo umount /media/nicholas/win/

如果提示“设备忙”,可以先关闭所有访问这个目录的程序再试。

第二步:找到U盘对应的块设备路径

有几个简单的命令可以帮你定位U盘:

方法1:用lsblk命令(最直观)

运行这个命令,会列出所有块设备的信息,包括容量、挂载点:

lsblk

你要找的是容量和你的U盘匹配的设备(比如如果是64G的U盘,就找对应大小的那一行)。设备名一般是/dev/sdb/dev/sdc这类(注意不要选/dev/sda,那通常是你的系统硬盘)。比如输出里可能会看到:

sdb      8:16   1  59.6G  0 disk 
└─sdb1   8:17   1  59.6G  0 part /media/nicholas/win

这里的/dev/sdb就是整个U盘的设备路径,不要选带数字的分区(比如sdb1)

方法2:用fdisk -l命令

运行这个命令,查看所有磁盘的详细信息:

sudo fdisk -l

同样找容量匹配的设备,比如:

Disk /dev/sdb: 59.62 GiB, 64023257088 bytes, 125045424 sectors
Disk model: USB Flash Drive
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

Device     Start       End   Sectors  Size Type
/dev/sdb1   2048 125045399 125043352 59.6G Microsoft basic data

这里的/dev/sdb就是我们要找的设备。

方法3:用dmesg命令(刚插U盘时用)

如果刚插上U盘,可以运行:

dmesg | tail

里面会有类似这样的日志:

[12345.678901] sd 5:0:0:0: [sdb] Attached SCSI removable disk

这里的[sdb]就是设备名,对应路径/dev/sdb

第三步:用dd写入ISO到U盘

找到正确的设备路径后,就可以执行写入命令了(把/dev/sdb换成你找到的实际路径):

sudo dd if=/home/nicholas/Desktop/Win10_22H2_English_x64v1.iso of=/dev/sdb bs=4M && sync
  • if=后面是你的ISO文件路径
  • of=后面是U盘的块设备路径(不要加分区号!
  • bs=4M是设置块大小,让写入更快
  • sync会确保所有数据都写入U盘,防止中途拔盘损坏数据

注意事项

  • 一定要确认设备路径正确! 如果写错成系统盘(比如/dev/sda),会直接覆盖系统数据,导致系统崩溃。
  • 写入过程中可能看不到进度,耐心等它完成就行(大ISO可能需要几分钟)。
  • 写完后可以重新插拔U盘,确认它能正常识别,然后就可以用来引导安装Windows了。

备注:内容来源于stack exchange,提问作者Nicholas Saunders

火山引擎 最新活动