1. 最简单的方法是用 UltraISO 写进 USB,经过测试 Live 运行和安装是正常的,方法:
下载最新版本的 UltraISO,文件 -- 打开-- 下载的 OsoLinux-x.x.x-x86_64.iso
插入 U 盘并确认识别到了
启动 -- 写入硬盘映像...
默认配置,点击写入 -- 直至完成
重启按启动快捷(各品牌主板不同)选择从 U 盘启动即可。
2. 由虚拟机运行 OsoLinux 来完成制做:
注意 U 盘格式化为 fat32 格式, grub2 目前不支持 exfat 格式
VBOX 下载地址:
https://www.virtualbox.org/wiki/Downloads建立虚拟环境并运行 OsoLinux:
插入 U 盘,让 VBOX 菜单中绑定 U 盘设备,于是在启动的 OsoLinux 的 Live 系统中我运行指令
blkid
除了未格式化的主分区 /dev/sda 外,可以看到两个设备 /dev/sr0 和 /dev/sdb1,其它的 /dev/loop(1234) 或是 /dev/zram0 都是 Live 挂载的临时数据。sr0 指的是光盘,也就是我们的 ISO 文件,所以/dev/sdb1 是我们插入绑定的 U 盘,不过无盘情况下虚拟机也可能把 U 盘认成是 sda,所以应用前多确认一下 。
现在我把 grub2 安装到 U 盘上,我从右下角托盘先打开 U 盘,在 U 盘根目录下面按 F4 打开 dolphin 终端执行以下指令:
grub2-install --boot-directory=./ /dev/sdb --target=i386-pc --force
复制 OsoLinux-3.0.1-x86_64.iso 到 U 盘根目录
在 U 盘内写入 grub2/grub.cfg
kwrite grub2/grub.cfg
grub.cfg 内容如下:
menuentry "OsoLinux-3.0.1-x86_64.iso"{
set isofile="/OsoLinux-3.0.1-x86_64.iso"
loopback loop $isofile
linux (loop)/BOOT/vmlinuz from=$isofile ramdisk_size=8888 root=/dev/ram0 rw
initrd (loop)/BOOT/initrfs.img
}
提示:
grub2 和 grub 不同,hd1 指的是第一只硬盘,(hd1,1)* 指的是类似 Win 上的 C 盘。
特别声明:不要在不同的硬盘分区里存放同名却不同内容的 ISO,这样 Live 加载后随意寻找一个分区根目录的 ISO 文件。
重启计算机,按 F12 或是其它快捷键选择 U 盘启动,接下来就是见证 LiveUSB 的时刻。
复制文件到 U 盘是比较慢的动作,假设我把 OsoLinux 的 iso 镜像复制到第一个硬盘第二分区,也就是 Win 显示的 D 盘,由 U 盘启动 grub2 引导,然后从硬盘启动则 grub.cfg 的内容如下
menuentry "OsoLinux-3.0.1-x86_64.iso"{
set root=(hd1,5)
set isofile="/OsoLinux-3.0.1-x86_64.iso"
insmod ntfs
loopback loop $isofile
linux (loop)/BOOT/vmlinuz from=$isofile ramdisk_size=8888 root=/dev/ram0 rw
initrd (loop)/BOOT/initrfs.img
}
3.
@yankaiqian : 我简单说明下使用Grub4DOS安装的过程,Windows下如何安装Grub4DOS这里就不用特别说了,网络上很多相关的文章。
主要就是配置menu.lst文件,我将ISO文件下载到Windows的E:\ISO文件夹下,E盘是Windows下扩展磁盘分区中的第二个逻辑盘,再GRUB里面就是(hd0,5),参考上面作者的说明测试了如下配置文件可以启动到Live环境:
title Oso Linux live
root (hd0,5)
kernel /ISO/vmlinuz from=ISO/OsoLinux-3.0.1-x86_64.iso ramdisk_size=8888 root=/dev/ram0 rw
initrd /ISO/initrfs.img
补充下,vmlinuz和initrfs.img文件都是从iso文件中的BOOT目录下解压出来的。