现在应该很少人使用光盘来安装系统了,几乎所有 BIOS 都支持USB启动。所以用 U盘 (或者移动硬盘/SD卡等移动存储器)进行系统安装应该是很正常的了。而遇到需要使用安装盘的机会其实很少(系统崩溃,需要LiveCD;彻底重装系统等等。我的 Fedora 装了3年,直到更换电脑了才需要用安装盘装系统)。以前也不太注意,做好了能用就拉倒,也没有记录过程和问题。这次手上有一个多余的 16G U盘,元旦假期想做一个可以安装多版本 Fedora 的安装U盘,且可以利用剩余空间存储其他数据。
参考资料 :
使用 dd 命令
最粗暴的办法就是 dd 了,无需安装任何软件,系统自带命令,一行了事。
-
sudo dd if=<安装盘.iso 的路径> of=< /dev/sdX >
你还可以在后面加上
bs=?MB 等等参数来提高效率。在这个命令之后,不要忘了”
sync” 哦 :-)
但他的不足非常明显:
-
浪费空间:整个U盘都被占用了,仅可以安装一个系统
-
只读:由于 iso 是光盘文件系统(ISO 9660 CD-ROM filesystem),所以将其 dd 进 U 盘后,系统就认为U 盘只读了。
-
软件报错:在插入 U 盘的时候,如果打开 Gparted , 它就要抱怨了块大小不对了。
-
隐藏进度:命令一启动,你就准备好干等几分钟吧,在结束前不会有任何输出(可以通过killall/kill 解决,见下行参考资料)
SideNote: dd命令是可以通过信号来查看进度的, 请参考
使用 GUI 软件
以下两个软件不怎么靠谱,性急的请跳过 :-)
Fedora 仓库中的 liveusb-creator
安装软件
-
sudo yum install liveusb-creator
使用体验
使用 liveusb-creator GUI 软件制作,似乎更简单。
但我没有成功过,问题在于这个软件没有被很好地测试,做完后(可能)未修改MBR,导致无法实现 LiveCD 的功能(无法从U 盘启动系统)
优点:
-
GUI简单易用
-
可自动下载所需 Fedora 映像
-
进度显示
-
仅占用一个分区,不浪费空间
缺点:
-
烧写出的启动盘可能无法启动系统(权限问题。可以手动刷写MBR补救)
如果你做的U盘无法启动,请尝试以下命令:
-
su root
-
cat /usr/share/syslinux/mbr.bin > /dev/sdX
-
只能实现 LiveCD 的烧写。
-
Fedora 的官方 Wiki 不推荐。
UNetbootin
安装软件
去 下载对应的版本安装(有RPM包)
使用体验
看上去似乎和 liveusb-creator 一样,但是在我的 F23 下无法使用:
a. 装完成,通过 GUI 图标启动,提示:需 root 权限,请通过命令行启动。(可以预览界面哦)
b. 使用提示的命令在终端下用 sudo/su 启动,显示一堆错误,卡死 :-(
优点:
-
同 liveusb-creator
-
支持多个发行版
-
跨平台(Win, Linux, Mac OS X)
缺点:
-
(在 F23 下没有启动成功,不评论), Fedora Wiki 不推荐使用。
使用 livecd-iso-to-disk 命令行工具
重点来了,最后发现 livecd-tools 是最好用的工具。
虽然是命令行,但操作简单(甚至比dd还简单),关键是“it works”。
优点:
-
简单易用,几乎和 dd 一样简单
-
不仅可以处理 LiveCD, 也可以处理 Server 版本的安装 DVD
-
有部分进度显示
-
仅需占用单个分区,不浪费空间,且可读可写。
-
支持多 LiveCD 安装到同一分区
缺点:
安装软件
-
sudo dnf install livecd-tools
使用方法
-
sudo livecd-iso-to-disk --reset-mbr --home-size-mb 1024 '/home/tekkamanninja/development/temp/Fedora-Live-Workstation-x86_64-23-10.iso' /dev/sdb1
其中
-
–reset-mbr 告诉 livecd-iso-to-disk 需要更新 U 盘(或存储器)的 MBR,这样系统才可以从 U 盘启动。作为被安装的首个 LiveCD 映像,这个是必须的。
-
–home-size-mb 1024 (可选)告诉 livecd-iso-to-disk 创建一个1024MB 大小的 img 文件作为用户的home 分区,可以保留用户数据。注意:默认–encrypted-home ,建议在后面加上–unencrypted-home ,因为在实践过程中发现如果加密了home.img, 有可能导致 系统卡在启动阶段。原因是,在系统提示输入密码的时候,其他并行的启动信息输出阻碍了密码的输入,导致无法输入密码,系统无法挂载home.img, 卡死。这种情况出现在了F23 security lab LiveCD 中,在WorkStation LiveCD 中没有问题。
-
如果你想自定义分区的标签,可以使用 –label <分区label> ,例如,–label “Fedora-LiveCD”
-
*.iso 下载的 Fedora LiveCD 文件,不用多说了
-
/dev/sdb1 是安装的目标 U 盘分区,注意: 是分区,并非整个U 盘。 你可提前分好区,但记得目标分区必须标示为”boot”,否则工具会提示并退出。
命令执行完毕后,你的 U 盘就是可以启动并安装 Fedora 的启动盘了。
安装多个 LiveCD 到同一分区(可选)
在完成了第一个 LiveCD 的安装之后,我发现,其实 livecd-iso-to-disk 是支持多映像安装的。
第二个及之后 LiveCD 的安装 是的命令大致如下
-
sudo livecd-iso-to-disk --multi --livedir "security" --home-size-mb 1024 --unencrypted-home '/home/tekkamanninja/Downloads/Fedora-Live-Security-x86_64-23-10.iso' /dev/sdb1
-
sudo livecd-iso-to-disk --multi --livedir "server" '/home/tekkamanninja/Downloads/Fedora-Server-DVD-x86_64-23.iso' /dev/sdb1
与首个系统的主要区别在于: 添加了
–multi –livedir <安装目录名>
这个选项是告诉 工具:此次的 LiveCD 映像 安装于 /dev/sdb1 根目录下的 <安装目录名> 目录,这样就不会与原先安装的 LiveCD 冲突了。
只要你的 U 盘够大,要安装几个 LiveCD 映像 都可以。但是注意,在执行完此命令之后, 必须手动修改启动配置文件,否则你无法在启动时看到后面安装的 LiveCD 启动选项。
以本文为例,先安装了 F23 Workstation LiveCD, 之后安装了security Live CD,所有需要将 /security/syslinux/syslinux.cfg 中的
-
menu separator
-
label linux0
-
menu label ^Start Fedora Live
-
kernel /security/syslinux/vmlinuz0
-
append initrd=/security/syslinux/initrd0.img root=live:UUID=8fcd33eb-3dc2-4c04-8347-1b8099aa0d1c rootfstype=ext4 ro rd.live.image live_dir=security quiet rhgb rd.luks=0 rd.md=0 rd.dm=0
拷贝到 /syslinux/extlinux.conf 中。
阅读(9938) | 评论(0) | 转发(1) |