为什么把 ISO dd 到U盘不能启动

712 views
Skip to first unread message

Bojie Li

unread,
Feb 4, 2012, 9:53:51 PM2/4/12
to USTC_LUG
我想制作两个U盘启动盘,一个启动 linux liveCD,另一个是 WinPE。

经测试,ArchLinux、Deepin 的 LiveCD 都可以用
dd if=/path/to/iso of=/dev/sdX
制作可启动的U盘(尽管这个U盘变成了 ISO 9660 格式,不能再写入其他数据)

然而,GHOST XP 系列的 iso,dd 到U盘之后都不能启动。这是什么原因?

Windows 下的工具 UltraISO 可以将 iso 刻录到U盘中,这里面的原理是什么?
在 Linux 下有无 UltraISO 的替代工具?(unetbootin 似乎只能制作 linux 引导盘)

Zhang Cheng

unread,
Feb 4, 2012, 9:56:50 PM2/4/12
to ustc...@googlegroups.com
ISO和USB的引导原理不同,通常ISO直接dd到U盘是不能启动的。

Ubuntu、Deepin的ISO可以直接dd,是因为经过了isohybrid处理,你可以自己查一下isohybrid这个东西。

我猜测UltraISO刻录到U盘时,应该是顺带做了isohybrid处理。

2012/2/5 Bojie Li <boj...@gmail.com>
--
新人发帖注意事项:
1.请务必使用gmail订阅
2.请在下面的管理连接中,更改你的姓名并且加上你的班级代码。
http://groups.google.com/group/ustc_lug/subscribe?hl=en
3.请不要以水贴开始你的第一帖
-----------------------------------------------------------------------------------------------------
You received this message because you are subscribed to the Google
Groups "USTC_LUG" group.
To post to this group, send email to ustc...@googlegroups.com
To unsubscribe from this group, send email to
ustc_lug+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/ustc_lug?hl=en?hl=en



--
Best Regards,
Cheng

Bojie Li

unread,
Feb 4, 2012, 10:11:20 PM2/4/12
to ustc...@googlegroups.com
我查到 isohybrid 是针对 isolinux 的,GHOST XP 等光盘不是从 isolinux 启动的,这怎么办?

2012/2/5 Zhang Cheng <steph...@googlemail.com>:

Xilin Sun

unread,
Feb 5, 2012, 9:01:56 AM2/5/12
to ustc...@googlegroups.com
在 Ubuntu 開始用這個之前,就可以dd了。我從9.10開始就是dd進優盤的。ArchLinux也可以。

在 2012年2月5日 上午10:56,Zhang Cheng <steph...@googlemail.com> 写道:
> Ubuntu、Deepin的ISO可以直接dd,是因为经过了isohybrid处理,你可以自己查一下isohybrid这个东西。

--
May the source be with you.

孙锡麟,SUN Xilin, undergraduate student at HKPolyU

Yan Zhipei

unread,
Feb 5, 2012, 2:49:47 PM2/5/12
to ustc...@googlegroups.com
Ultraiso 做出来是磁盘格式,而非光盘格式,写入硬盘镜像时貌似是写引导扇区,格式化U盘,将ISO解压以文件级别拷入。写Arch的ISO会修改内容,例如isolinux文件夹变成syslinux,别的linux估计也是。windows写到u盘不需要模拟成光盘,是磁盘启动,只要写了bootsect就可以。

Xiaokui Shu

unread,
Feb 5, 2012, 4:02:13 PM2/5/12
to ustc...@googlegroups.com
opensuse也可以

2012/2/5 Yan Zhipei <anubis...@gmail.com>:

Bojie Li

unread,
Feb 5, 2012, 10:14:38 PM2/5/12
to ustc...@googlegroups.com
我也认为如此,UltraISO 可能是按照光盘启动标准读取了ISO引导信息和文件内容,然后再按照硬盘启动标准写入MBR和文件内容。诚如是,不是个简单的工作。

可启动 CD-ROM 的前16个扇区(0~15)为保留扇区;第16扇区是主标记描述;第17扇区是引导描述,存放着启动系统标识符和启动目录文件的位置。

这样,hybrid 启动镜像便成为可能,最前面的扇区可用于存储MBR等,CD-ROM的启动信息自第17扇区开始,互不影响。

Volume and File Structure of CDROM for Information Interchange
(technically identical with ISO 9660)
http://home.ustc.edu.cn/~boj/ISO9660/Ecma-119.pdf

“El Torito” Bootable CD-ROM Format Specification
http://home.ustc.edu.cn/~boj/ISO9660/Specs-Cdrom.pdf

如果要让U盘像光盘一样启动,有USB-CDROM模式,不过需要厂家专有的U盘量产工具。

2012/2/6 Yan Zhipei <anubis...@gmail.com>:

Zhang Cheng

unread,
Feb 5, 2012, 10:22:23 PM2/5/12
to ustc...@googlegroups.com
2012/2/6 Bojie Li <boj...@gmail.com>

我也认为如此,UltraISO 可能是按照光盘启动标准读取了ISO引导信息和文件内容,然后再按照硬盘启动标准写入MBR和文件内容。诚如是,不是个简单的工作。

unetbootin就是这么干的。不过ultraISO可能做的更彻底一些。



--
Best Regards,
Cheng

周金阳小熊猫

unread,
Feb 6, 2012, 7:15:38 PM2/6/12
to ustc...@googlegroups.com
SUSE好像不行吧,我记得以前好像失败了。SUSE的官方给的是一个专门的ImageWriter软件来写Live USB的吧。

2012/2/6 Xiaokui Shu <sub...@gmail.com>



--
即候文祺
小熊猫

这个世界没那么多不可挽回的事,所以你也别对它失去信心。

Justin Wong

unread,
Feb 4, 2012, 11:02:32 PM2/4/12
to ustc...@googlegroups.com

grub2 或 grub4dos 可以引导iso

send from android

Xiaokui Shu

unread,
Feb 8, 2012, 10:26:41 PM2/8/12
to ustc...@googlegroups.com
12.1可以,我就直接dd到U盘安装的。


2012/2/6 周金阳小熊猫 <pandacho...@gmail.com>:

Reply all
Reply to author
Forward
0 new messages