由于经常需要安装虚拟机或者物理机,我们总是需要和光盘打交道
光盘映像它是什么
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 了,此时按理说应该处于旁路由模式