Heim  >  Artikel  >  php教程  >  制作多版本 Fedora 系统安装 U 盘

制作多版本 Fedora 系统安装 U 盘

WBOY
WBOYOriginal
2016-06-16 09:16:261204Durchsuche

制作多版本 Fedora 系统安装 U 盘


现在应该很少人使用光盘来安装系统了,几乎所有 BIOS 都支持USB启动。所以用 U盘 (或者移动硬盘/SD卡等移动存储器)进行系统安装应该是很正常的了。而遇到需要使用安装盘的机会其实很少(系统崩溃,需要LiveCD;彻底重装系统等等。我的 Fedora 装了3年,直到更换电脑了才需要用安装盘装系统)。以前也不太注意,做好了能用就拉倒,也没有记录过程和问题。这次手上有一个多余的 16G U盘,元旦假期想做一个可以安装多版本 Fedora 的安装U盘,且可以利用剩余空间存储其他数据。

参考资料 :How to create and use Live USB


使用 dd 命令

最粗暴的办法就是 dd 了,无需安装任何软件,系统自带命令,一行了事。


<ol style="margin:0 1px 0 0px;padding-left:40px;" start="1" class="dp-css"><li>sudo dd if=<安装盘.iso 的路径> of=</dev/sdX></li></ol>

你还可以在后面加上 bs=?MB 等等参数来提高效率。在这个命令之后,不要忘了”sync” 哦 :-)

但他的不足非常明显:

  • 浪费空间:整个U盘都被占用了,仅可以安装一个系统
  • 只读:由于 iso 是光盘文件系统(ISO 9660 CD-ROM filesystem),所以将其 dd 进 U 盘后,系统就认为U 盘只读了。
  • 软件报错:在插入 U 盘的时候,如果打开 Gparted , 它就要抱怨了块大小不对了。
  • 隐藏进度:命令一启动,你就准备好干等几分钟吧,在结束前不会有任何输出(可以通过killall/kill 解决,见下行参考资料)
SideNote: dd命令是可以通过信号来查看进度的, 请参考check the status of ‘dd’ in progress

使用 GUI 软件

以下两个软件不怎么靠谱,性急的请跳过 :-)

Fedora 仓库中的 liveusb-creator

安装软件

<ol style="margin:0 1px 0 0px;padding-left:40px;" start="1" class="dp-css"><li>sudo yum install liveusb-creator</li></ol>

使用体验

使用 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的配置文件

安装软件


<ol style="margin:0 1px 0 0px;padding-left:40px;" start="1" class="dp-css"><li>sudo dnf install livecd-tools </li></ol>


使用方法

安装首个 LiveCD

<ol style="margin:0 1px 0 0px;padding-left:40px;" start="1" class="dp-css"><li>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</li></ol>

其中

  • –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 的安装 是的命令大致如下

<ol style="margin:0 1px 0 0px;padding-left:40px;" start="1" class="dp-css"><li>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</li><li>sudo livecd-iso-to-disk --multi  --livedir "server" '/home/tekkamanninja/Downloads/Fedora-Server-DVD-x86_64-23.iso' /dev/sdb1</li></ol>
与首个系统的主要区别在于: 添加了–multi –livedir
这个选项是告诉 工具:此次的 LiveCD 映像 安装于 /dev/sdb1 根目录下的 目录,这样就不会与原先安装的 LiveCD 冲突了。
只要你的 U 盘够大,要安装几个 LiveCD 映像 都可以。但是注意,在执行完此命令之后, 必须手动修改启动配置文件,否则你无法在启动时看到后面安装的 LiveCD 启动选项。


以本文为例,先安装了 F23 Workstation LiveCD, 之后安装了security Live CD,所有需要将 /security/syslinux/syslinux.cfg 中的


<ol style="margin:0 1px 0 0px;padding-left:40px;" start="1" class="dp-css"><li>menu separator</li><li>label linux0</li><li>menu label ^Start Fedora Live</li><li>kernel /security/syslinux/vmlinuz0 </li><li>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</li></ol>

拷贝到 /syslinux/extlinux.conf 中。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn