制作多版本 Fedora 系统安装 U 盘
制作多版本 Fedora 系统安装 U 盘
现在应该很少人使用光盘来安装系统了,几乎所有 BIOS 都支持USB启动。所以用 U盘 (或者移动硬盘/SD卡等移动存储器)进行系统安装应该是很正常的了。而遇到需要使用安装盘的机会其实很少(系统崩溃,需要LiveCD;彻底重装系统等等。我的 Fedora 装了3年,直到更换电脑了才需要用安装盘装系统)。以前也不太注意,做好了能用就拉倒,也没有记录过程和问题。这次手上有一个多余的 16G U盘,元旦假期想做一个可以安装多版本 Fedora 的安装U盘,且可以利用剩余空间存储其他数据。
参考资料 :How to create and use Live USB
使用 dd 命令
最粗暴的办法就是 dd 了,无需安装任何软件,系统自带命令,一行了事。
- sudo dd if= of=/sdX>
你还可以在后面加上 bs=?MB 等等参数来提高效率。在这个命令之后,不要忘了”sync” 哦 :-)
但他的不足非常明显:
- 浪费空间:整个U盘都被占用了,仅可以安装一个系统
- 只读:由于 iso 是光盘文件系统(ISO 9660 CD-ROM filesystem),所以将其 dd 进 U 盘后,系统就认为U 盘只读了。
- 软件报错:在插入 U 盘的时候,如果打开 Gparted , 它就要抱怨了块大小不对了。
- 隐藏进度:命令一启动,你就准备好干等几分钟吧,在结束前不会有任何输出(可以通过killall/kill 解决,见下行参考资料)
使用 GUI 软件
以下两个软件不怎么靠谱,性急的请跳过 :-)
Fedora 仓库中的 liveusb-creator
安装软件
- sudo yum install liveusb-creator
使用体验
使用 liveusb-creator GUI 软件制作,似乎更简单。
但我没有成功过,问题在于这个软件没有被很好地测试,做完后(可能)未修改MBR,导致无法实现 LiveCD 的功能(无法从U 盘启动系统)
优点:
- GUI简单易用
- 可自动下载所需 Fedora 映像
- 进度显示
- 仅占用一个分区,不浪费空间
缺点:
- 烧写出的启动盘无法启动系统(至少我没有成功过)
- 只能实现 LiveCD 的烧写。(一个只能烧写 LiveCD 的软件,做出的 U 盘无法实现 LiveCD 的功能,你TM在逗我 :-p)
- 连 Fedora 的官方 Wiki 都不推荐使用,还不如 dd 靠谱
UNetbootin
安装软件
去UNetbootin的主页下载对应的版本安装(有RPM包)
使用体验
看上去似乎和 liveusb-creator 一样,但是在我的 F23 下无法使用:
a. 装完成,通过 GUI 图标启动,提示:需 root 权限,请通过命令行启动。(可以预览界面哦)
b. 使用提示的命令在终端下用 sudo/su 启动,显示一堆错误,卡死 :-(
优点:
- 同 liveusb-creator
- 支持多个发行版
- 跨平台(Win, Linux, Mac OS X)
缺点:
- (在 F23 下没有启动成功,不评论), Fedora Wiki 不推荐使用,不如 dd 靠谱
使用 livecd-iso-to-disk 命令行工具
重点来了,最后发现 livecd-tools 是最好用的工具。
虽然是命令行,但操作简单(甚至比dd还简单),关键是“it works”。
优点:
- 简单易用,几乎和 dd 一样简单
- 不仅可以处理 LiveCD, 也可以处理 Server 版本的安装 DVD
- 有部分进度显示
- 仅需占用单个分区,不浪费空间,且可读可写。
- 支持多 LiveCD 安装到同一分区
缺点:
- 需要一点手动处理:对于启动MENU的配置文件
安装软件
- sudo dnf install livecd-tools
使用方法
安装首个 LiveCD
- 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 “Fedora-LiveCD”
- *.iso 下载的 Fedora LiveCD 文件,不用多说了
- /dev/sdb1 是安装的目标 U 盘分区,注意: 是分区,并非整个U 盘。 你可提前分好区,但记得目标分区必须标示为”boot”,否则工具会提示并退出。
命令执行完毕后,你的 U 盘就是可以启动并安装 Fedora 的启动盘了。
安装多个 LiveCD 到同一分区(可选)在完成了第一个 LiveCD 的安装之后,我发现,其实 livecd-iso-to-disk 是支持多映像安装的。
第二个及之后 LiveCD 的安装 是的命令大致如下
与首个系统的主要区别在于: 添加了–multi –livedir
- 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
这个选项是告诉 工具:此次的 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 中。
上一篇: 提高PHP代码的性能10条建议