怎么使用dd命令以及windows光盘映像创建一个可启动的U盘


类型:LinuxApp,创建时间:Feb. 25, 2014, 3:41 p.m.

标题无“转载”即原创文章,版权所有。转载请注明来源:http://hgoldfish.com/blogs/article/90/。

windows的安装光盘映像本身是一个可以启动的光盘映像,理论上只要使用直接写入到u盘就可以启动了,就好像linux的live cd一样。

(以下都假定u盘是/dev/sdb,全程使用root帐号登录)

# dd if=opensuse_dvd.iso of=/dev/sdb bs=4096
# dd if=windows7.iso of=/dev/sdb bs=4096

用这样的方法搞定linux live cd是没问题的,opensuse的dvd和kde live cd我都试验成功了。不过windows不行,后来了解了一下,说是主板必须把这个U盘识别为USB-CDROM才行。大概是因为BIOS需要的引导纪录在windows光盘映像里面不存在。所以我们这里需要为u盘安装一个引导纪录。

这时候需要用到一个软件:http://ms-sys.sourceforge.net/,下载回来:

# tar -xvzf mssys.tar.gz
# cd ms-sys
# make
# make install

安装完毕。用lilo也可以,不过我自己没有试验过。

# zypper install lilo

好了,需要的软件都已经准备完毕。接下来给U盘做一个分区。考虑到分区这种事情容易出错,建议直接使用图形界面的yast。否则使用fdisk

# fdisk /dev/sdb

最终将整个U盘分成一个分区/dev/sdb1

为u盘创建文件系统,(使用快速格式化不检测扇区):

# mkfs.ntfs -f /dev/sdb1

创建启动扇区:

# ms-sys -7 /dev/sdb
# lilo -M /dev/sdb mbr

把光盘映像里面的文件都复制到U盘去:

# mkdir -p /mnt/usb
# mkdir -p /mnt/iso
# mount -o loop windows7.iso /mnt/iso
# mount /dev/sdb1 /mnt/usb
# cp -r /mnt/iso/* /mnt/usb/

拔下U盘后一切搞定。

资料来源:http://serverfault.com/questions/6714/how-to-make-windows-7-usb-flash-install-media-from-linux

标题无“转载”即原创文章,版权所有。转载请注明来源:http://hgoldfish.com/blogs/article/90/。


老鱼(March 12, 2014, 9:35 p.m.)

写完才想起一件事。说好的dd命令呢?

老鱼(April 18, 2015, 5:35 p.m.)

今天又用这个方法弄了一个启动盘。很好用。


何不来发表一下您对本文的看法(使用Markdown语法,分段空两行):