因为之前安装 Linux 滚动发行版 openSUSE Tumbleweed 的经验需要更新,以及最近帮朋友安装 Windows 7 的事情的折腾,所以需要将积累的烧录操作系统安装光盘到 USB 设备如 U 盘的经验进行一下更新。这里记录的是将 openSUSE 系统安装 DVD 光盘镜像写入 U 盘的方法。
这篇博文还有个任务就是记录一下折腾 openSUSE Tumbleweed 安装光盘写入 U 盘的一点经验,所以就以烧录 openSUSE Tumbleweed 的安装 DVD 镜像到 U 盘作为例子。这个方法和过程应该同样适用于 openSUSE Leap,应该也适用于其它 Linux 发行版。
另外,因为网上介绍 Windows 下制作 Windows 7 的安装 U 盘的文章有很多,并且博主也曾经记录了一个通过 Windows 下命令行制作安装 U 盘方式,这里就不打算再说了。但是会记录一个在 Linux 下制作 Windows 7 安装 U 盘的过程,回头发在另外一篇博文中。
准备工作¶
因为 openSUSE Tumbleweed 的安装光盘 DVD 镜像大约就是 4GB,有时候还稍大,所以需要准备一个 8GB 的 U 盘,将里面的文件备份到可靠的地方,因为制作安装介质需要格式化 U 盘。
然后就是下载 openSUSE Tumbleweed 的安装光盘 DVD 镜像。
一点解释¶
目前的 openSUSE Tumbleweed 的安装 DVD 光盘直接烧制的 USB 设备是无法引导启动 T470s 的。也许也同样无法启动一些别的型号的电脑。这是因为目前的 openSUSE Tumbleweed 的安装光盘有点兼容性问题。这个问题已经由 openSUSE Tumbleweed 社区的开发人员解决了(参见 ref1、ref2 和 bug 939456)。不过目前似乎还没有用新的方法来生成 openSUSE Tumbleweed 的安装光盘,所以目前的 openSUSE Tumbleweed 还是需要继续使用 Rufus 来制作。不过现在处于测试阶段、即将发布的 openSUSE Leap 15.0 已经是采用新的制作方式了,应该可以(博主未测试)直接用最简单的方式将安装光盘制作成 USB 启动介质来启动并安装了。
也就是因为这个问题,我刚开始使用 openSUSE Tumbleweed 20170308 快照的时候,使用 SUSE Studio ImageWriter 和 dd
、 cp
指令,以及各种能找到的方法,每次烧录的结果都是无法从 U 盘启动。但是我测试的结果是它们应该都可以在 HP Pavilion 笔记本上使用,开启 EFI 的 Secure Boot 也没有问题。当然了,因为这些方法的本质都是一样的,见下面的「工具选用」里的说明。
好消息是,虽然 openSUSE Tumbleweed 官方打包的 DVD 安装介质有这样的问题,但是有个官方的工具可以对这个光盘镜像稍稍处理一下。根据 bug 939456 中的提示,使用 mksusecd
处理一下下载过来的 DVD 镜像,
# mksusecd -c /path/to/new.iso /path/to/orig-download-tumbleweed.iso
处理后的光盘镜像就可以使用任何可用的烧录方式将其烧录到 USB 设备里使用并能够正常引导启动 T470s 执行安装任务了。
工具选用¶
烧录安装光盘到 U 盘有很多种方法。
Windows 上,社区推荐的是使用 SUSE Studio ImageWriter(下载链接)。这个软件虽然已经很久没有更新了,但是用着还是没任何问题。还有诸如 Rufus、ImageUSB、GRUB4DOS 等等。但是博主推荐 Rufus,因为它的「ISO Image Mode」可以绕过目前 openSUSE Tumbleweed 安装 DVD 光盘存在的,当然也可能是 ThinkPad 笔记本的,一个兼容性问题。
Linux 里制作的话也有很多种选择。一般 Linux 系统自带的 dd
和 cp
指令就可以很轻松地完成这个任务。图形界面的话也有很多,比如 SUSE Studio ImageWriter(openSUSE 官方源中就有,软件包名称 imagewriter
)、新出的那个 KDE 的烧录工具 ISOImageWriter。
实际上,不管是 Windows 上的软件也好,还是 Linux 上的命令行或者图形界面软件也好,除了 Rufus 的「ISO Image Mode」这个模式之外,其它的各种方法,包括 Rufus 的「DD Image」模式,制作的结果都是一模一样的。也就是说,这些方法都是将 U 盘做成了披着 USB 设备外衣的 DVD 光盘设备。具体的细节我也讲不清楚。大致就是,ImageWriter、cp
、dd
、ImageUSB(Windows)和 Rufus 的 DD Image 模式(Windows)它们的原理是一样的,都是二进制复制(plain binary copy)。完成之后的 USB 驱动器对电脑来说就相当于一个 DVD。可参考前面提到的「一点解释」里面引用的那个 bug 里面的开发人员的说明。
但是 Rufus 的「ISO Image Mode」这个模式却是将 U 盘做成可启动设备后再将光盘的内容填充进去。
博主自己最后使用的是 Rufus,运行在 Windows 上。如果按照前面「一点解释」里的方法处理了 openSUSE Tumbleweed 的安装光盘,那么下面烧录到 USB 设备的方法就无关紧要了,随便一个都可以。我是在 Linux 里的 Windows 7 虚拟机里完成烧录的。在 Windows 10 系统中也可以用 Rufus 烧录 ISO 镜像到 U 盘。只是操作顺序需要注意(需要特别注意选择正确的「设备 Device」,确保是正确的那个 U 盘)。
制作过程¶
SUSE Studio ImageWriter¶
这个本来是提供了 Windows 版本的,但是很久没有维护了。不过 openSUSE 的官方源还提供安装,于是就安装试试看,
$ sudo zypper install imagewriter
然后从开始菜单里的工具中找到它。很简单,很直观的过程,就不再截图了。
dd¶
dd
是个工作在底层的磁盘工具。很强大,但是也很难用(主要是操作不当会造成巨大的破坏)。幸好这里只是用来制作个 U 盘,问题还不大。
操作前先确定 U 盘的路径。
$ sudo fidsk -l
注意看结果中的 U 盘大小。如果此时系统中只有一块硬盘,又没有其它的移动盘挂在系统上,那么多半就是 /dev/sdb
了。这个一定要确认好,不然误用了别的设备的路径那就哭死吧。
先切换到光盘镜像所在的文件夹,
$ cd /path/to/the/iso/
取消挂载 U 盘(这里用 X
来指代 a, b, c, … 中的某个字符,需要根据上面的介绍来确认;下同),
$ umount /dev/sdX
假设光盘镜像名字为 ostw.iso
,开始烧录,
$ sudo dd if=ostw.iso of=/dev/sdX bs=4M status=progress ; sudo sync
注意是 /dev/sdX
,不是 U 盘上的某个分区(/dev/sdX1
)。
剩下的就是等待一阵子。估计得半个小时左右吧,要看 U 盘的写入速度。
cp¶
有网友介绍了这个方法,作用跟 dd
差不多。
$ cp /path/to/iso/ostw.iso /dev/sdX
这里同样要注意确认 U 盘的设备路径 /dev/sdX
。注意不是 U 盘上的某个分区(/dev/sdX1
)(后面这个带了个数字)。
Rufus¶
运行在 Windows 下。下载地址 https://rufus.akeo.ie/。
它提供了两种烧录模式,第一种说是可以让你在烧录光盘后还能使用剩余的 U 盘的空间。这个实际上没必要,因为安装完成后不就把 U 盘给重新格式化了吗?第二种是「dd」方式,结果跟 dd
指令等方法的是一样的。网友说应该选用 dd
方式。但是我是后来才知道的,所以用了第一种方式。结果也成功完成安装了。但是过程中有几个文件说是无法复制,后来安装成功,启动后才从 YaST2 里面再次安装的那几个包。
我是在 Linux 里的 Windows 7 虚拟机里完成烧录的。这样做好不好咱不知道,反正能用。
步骤:
- 打开 Rufus 之后,需要从其窗口中间位置那里的下拉菜单中选择「ISO Image」模式,然后点击其后的那个光盘图标来选取需要写入的光盘镜像(ISO)文件如下图方框位置。
- 再次确保顶部显示选中的那个设备是正确的 U 盘设备。
- 点击「Start 」(开始)之后还可以选择 2 种模式中的一个,如下图,
- Rufus 推荐的「ISO Image mode」(光盘镜像模式),写完后可以使用 U 盘的剩余空间;
- 「DD Image mode」(dd 镜像模式 ),使用完后 U 盘需要重新格式化才能使用;跟前面介绍的 Linux 中的
dd
指令的的效果是一样的。
感觉有这么几个介绍就够了。其它的软件有图形界面,操作方式都不如 Rufus 的复杂。©
本文发表于水景一页。永久链接:<https://cnzhx.net/blog/ways-to-write-os-installation-iso-image-into-usb-stick/>。转载请保留此信息及相应链接。
引用通告: T470s 上安装 Linux 滚动发行版 openSUSE Tumbleweed | 水景一页
我用的ultraiso,做windows启动盘用usb-hdd+模式。
烧录debian 9和leap也不用编辑linux启动项,直接写raw就可以。
他都预设好了。
然后找个数字之家的量产工具,直接把用完的u盘量产初始化。
怎么无脑怎么来。。。哈
多谢分享你的经验。
虽然 UltraISO 是商业软件,基本的方法应该是相似甚至相同的。你说的 RAW 模式应该就是文中提到的「二进制复制」。
Windows 的启动 U 盘确实有所不同。至于在 Linux 下制作 Win 启动盘,我过两天弄好了再发出来。
引用通告: Linux 中制作 Windows 安装 U 盘 | 水景一页
引用通告: 记一次莫名修复的Kernel Panic 导致的BtrFS文件系统问题 | 水景一页