|
|
本帖最后由 110654 于 2016-6-17 16:56 编辑
syslinux+grub4dos的方法。将ISO和光盘内容全部拷贝至 U盘根目录下。用syslinux如何启动U盘这里不做介绍,百度一下很多的。其中,启动项可以写在syslinux.cfg文件里,也可以写在menu.lst文件里用grub启动(推荐)。格式如下:
a. 这种方法跟LiveCD一样,不可以保存数据
title Ubuntu10.10
kernel /casper/vmlinuz boot=casper iso-scan/filename=/ubuntu10.10.iso locale=zh_CN.UTF-8
initrd /casper/initrd.lz
b. 这个就是重点,可以保存数据和配置
title Ubuntu10.10
kernel /casper/vmlinuz file=/preseed/ubuntu.seed boot=casper quiet splash locale=zh_CN.UTF-8 persistent --
initrd=/casper/initrd.gz
上面有一个persistent的参数,它允许以persistent模式启动,这样就可以保存数据。但是,别高兴的太早,还差一步。你需要制作一个persistent数据保存区,可以是一个loopback file,也可以是一个分区。下面就是persistent数据保存区的两种制作方法:
a、创建一个分区,将其格式经成ext2/ext3格式,并且卷标为casper-rw。命令如下:
# mkfs.ext3 -L casper-rw /dev/sdb2 (假设你要存储数据的分区为sdb2)
b、创建一个casper-rw名称的loopback file,并将其格式经成ext2/ext3格式。命令如下:
# dd if=/dev/zero of=./casper-rw bs=1M count=1024(1024指存储空间为1G,根据需要改变)
casper-rw文件是用于我们在liveusb linux中保存我们对系统所做的更改,下面的方法用于手工创建casper-rw文件(我们甚至还能更改已创建casper-rw文件的大小)
创建新的casper-rw文件
打开终端,输入以下命令
dd if=/dev/zero of=./casper-rw bs=1M count=1024
注: 把上面的count=1024改成你需要的大小
这样就在当前目录下生成了casper-rw文件,但这时候的casper-rw还不能用,你还需要格式化它在终端输入以下命令进行格式化
mkfs.ext3 casper rw
OK,现在你可以把casper-rw文件拷到你的u盘投入应用了。
1.创建新的casper-rw文件
打开终端,输入以下命令
dd if=/dev/zero of=casper-rw bs=1M count=1024
注: 把上面的count=1024改成你需要的大小
这样就在当前目录下生成了casper-rw文件,但这时候的casper-rw还不能用,你还需要格式化它在终端输入以下命令进行格式化
mkfs.ext3 casper-rw
OK,现在你可以把casper-rw文件拷到你的u盘投入应用了。
2.更改现有casper-rw文件的大小
打开终端,切换到casper-rw文件所在的目录,然后输入以下命令(最好先备份一下原文件)
dd if=/dev/zero bs=1M count=1024 >> casper-rw
注:把上面的count=1024改成你需要的大小
然后我们还需要check一下casper-rw文件,输入以下命令
e2fsck -f casper-rw
最后我们重新指定一下分区大小,输入以下命令
resize2fs casper-rw
如果以上的命令都正确执行了,那恭喜你,你已经得到一个新尺寸的casper-rw文件。
以上是本人用时2天不断测试,由于是新手不断的撞墙,终于找到了可用的资料。
下面是本人实际成功的过程
先下载
LinuxLive_USB_Creator_2.9.4
Ubuntu12.04.5 desktop i386.iso
使用linuxlive usb安装到虚拟的磁盘中VDH,然后复制虚拟磁盘里面的.disk,casper,preseed 3个文件夹到U盘根目录
编辑grub4dos菜单
title Ubuntu12.04 USB \n ubuntu12.04-live-usb模式,可保存数据
kernel /casper/vmlinuz root=/dev/sda1 file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash locale=zh_CN.UTF-8 persistent --
initrd /casper/initrd.lz
注意中间的区别多了一个root=/dev/sda1
当你不确定你的U盘是什么分区,可以在grub4dos菜单选择的时候按C 进入命令行
ls 列出当前的所有设备。如(hd0,0),(hd0,1),(hd0,5), (hd0,6)等
ls -l 详细列出当前的所有设备。对于分区,会显示其label及uuid。
ls (hd0,1)/ 列出(hd0,1)分区根目录下的所有文件。
现在跪求能把ubuntu放在U盘的2级目录下面运行的菜单写法
不要放在根目录到底怎么破? 菜鸟无奈啊。。。。 |
|