Skip to content

由于经常需要安装虚拟机或者物理机,我们总是需要和光盘打交道

光盘映像它是什么

ISO 是三大操作系统都能用的标准

IMG 是 Linux 下用的比较多的

DMG 是 MAC 上用的比较多的

以 ISO 为例,它大概包含了三种数据:

(1)引导信息

(2)文件系统元数据(定位文件在哪)

(3)文件、文件夹

所以,如果把文件复制出来压缩成 ZIP,就只剩下(3)了,因为(1)和(2)都由你的操作系统重新接管了

制作启动 U 盘

目标是把 U 盘变成一张“模拟的光盘”

所以简单复制 ISO 里的文件是不行的

电脑 BIOS 启动时,发现 U 盘没有引导信息,那就跳过 U 盘了,继续从硬盘上引导操作系统

esd 和 wim

从前面的三级来看,它是文件级,即类似一个 zip

一个 wim 文件可以包含多个 Windows 版本(家庭、专业),而体积增加却很小,兼容性好,也可以修改内容

esd 是后出的标准,压缩率更高,适合网络下载,但是难以修改

我之前试过用 powershell 来互转这两个格式,但是似乎转出来的不太能用,建议还是直接找现成的

软件/工具

Rufus:将 ISO 写入 U 盘,制作启动盘。我发现这个在图吧工具箱的其它工具里能找到,我每次都重新下载,其实没必要。

UltraISO:不要去官网下载,捆绑流氓软件太多。图吧工具箱里依然有。

IMG 转 ISO

首先,Windows 知道 IMG 是一个光盘

大部分情况下,IMG 就是 ISO,只需要改个后缀行了

如果还是不行,那就用 UltraISO 转

但是,能转换的情况,仅限于 IMG 它是一个光盘

我那个 OpenWrt 的 IMG 映像,之所以无法转换为 ISO,根本原因在于它是一个硬盘,而不是光盘

ISO(光盘格式)它的结构是“轨道+文件系统”。它就像一张纸,上面直接写着数据。UltraISO 和 Windows 都能读懂这种格式

OpenWrt 的 .img(硬盘格式):

它内部包含了一个分区表(MBR 或 GPT)。 分区表里划分了多个分区(比如 boot 分区、rootfs 系统分区)。 这些分区被格式化为 ext4 或 SquashFS(Linux 专用文件系统),而不是 Windows 能读懂的 NTFS 或 FAT32。

所以为什么是这样:

因为 Ubuntu 它是安装在电脑上,所以用 ISO 制作启动盘,但是 OpenWrt 它是你直接把 img 写入到路由器的存储里,即可直接启动。OpenWrt 的 .img 不是安装盘,它就是系统本身。

Hyper-V 第一代与第二代虚拟机

第一代虚拟机,基本上一路上下一步就能构造出来

然后你去检查它的设置

“BIOS”:从 CD 启动 “IDE 控制器” -- “DVD 驱动器” -- 这里描述了你。iso 文件的绝对位置

第二代虚拟机,它是有 UEFI 的

Ubuntu24 需要按照这个流程安装,它好像必须是第二代虚拟机

首先,如果你安装 Linux 机器,在安全那个位置,将模板更改为“MS UEFI 证书颁发机构”,如果是 Windows,就选“Windows”

然后你从 ISO 映像安装好系统后,它要求重启

你把虚拟机杀死,然后去“固件”里,将启动顺序的“硬盘驱动器”的优先级调整为最高。而不是 DVD 驱动器,或者 efi 文件。

这也引出了 OpenWrt 的安装方法

最快速的方案就是,去 https://cloudbase.it/qemu-img-windows/ 下载,并运行那个命令,直接将 img 转换为 vhdx

然后,选择第一代虚拟机,磁盘直接选这个 vhdx,然后不安装 OS,建立后,直接调整 BIOS,从 IDE 启动

然后连接,就直接能跑起来(按一下回车),之后就可以看到 ip 了,此时按理说应该处于旁路由模式