制作多版本 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 解决,见下行参考资料)
使用 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 中。

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

PHP起源于1994年,由RasmusLerdorf开发,最初用于跟踪网站访问者,逐渐演变为服务器端脚本语言,广泛应用于网页开发。Python由GuidovanRossum于1980年代末开发,1991年首次发布,强调代码可读性和简洁性,适用于科学计算、数据分析等领域。

PHP适合网页开发和快速原型开发,Python适用于数据科学和机器学习。1.PHP用于动态网页开发,语法简单,适合快速开发。2.Python语法简洁,适用于多领域,库生态系统强大。

PHP在现代化进程中仍然重要,因为它支持大量网站和应用,并通过框架适应开发需求。1.PHP7提升了性能并引入了新功能。2.现代框架如Laravel、Symfony和CodeIgniter简化开发,提高代码质量。3.性能优化和最佳实践进一步提升应用效率。

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP类型提示提升代码质量和可读性。1)标量类型提示:自PHP7.0起,允许在函数参数中指定基本数据类型,如int、float等。2)返回类型提示:确保函数返回值类型的一致性。3)联合类型提示:自PHP8.0起,允许在函数参数或返回值中指定多个类型。4)可空类型提示:允许包含null值,处理可能返回空值的函数。

PHP中使用clone关键字创建对象副本,并通过\_\_clone魔法方法定制克隆行为。1.使用clone关键字进行浅拷贝,克隆对象的属性但不克隆对象属性内的对象。2.通过\_\_clone方法可以深拷贝嵌套对象,避免浅拷贝问题。3.注意避免克隆中的循环引用和性能问题,优化克隆操作以提高效率。

PHP适用于Web开发和内容管理系统,Python适合数据科学、机器学习和自动化脚本。1.PHP在构建快速、可扩展的网站和应用程序方面表现出色,常用于WordPress等CMS。2.Python在数据科学和机器学习领域表现卓越,拥有丰富的库如NumPy和TensorFlow。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Dreamweaver CS6
视觉化网页开发工具

WebStorm Mac版
好用的JavaScript开发工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

记事本++7.3.1
好用且免费的代码编辑器