Home
Categories
WIKI
Topic
User
LANGUAGE:
中文
English
可保存数据的liveUSB的一种确切方法
Experiences and Insight
4544
views ·
8
replies ·
To
floor
Go
ArthurDeepin
deepin
2014-10-26 21:57
Author
本帖最后由 ArthurDeepin 于 2015-7-22 20:13 编辑
上次在论坛里有谈到如何制作可以保存设置的liveusb,最后好像是无果而终。
http://www.linuxdeepin.com/forum/25/24979
然后在这个周末又百度了一下,有些收获,并且实际上也比较简单。
简单来说,第一阶段就是制作一个正常的启动盘,liveusb里常用的引导是grub或者syslinux。
第二阶段,就是建立一个casper-rw(不要问我内在原理,我真不知道……有兴趣的请百度),一种形式是文件形式(我没有成功,上面那个帖子里都是这个原理,但是实际上基本没起作用,也许有些疏漏),另一种形式是创建一个卷标为casper-rw的ext3/4的分区(创建速度比前一个快得多)。
下面是我的经历,大家可以用不同的步骤达到同样的目的。
一、制作启动盘(随意,会的跳过,我手动,用的引导是grub4dos,其他自动化的制作工具多半是syslinux引导)
1.从windows下开始,使用bootice在U盘主引导写入grub4dos(U盘内容不会掉),U盘根目录放入GRLDR文件和menu.lst(这第一个文件是grub4dos的功能包,需要自己找,附件,第二个文件是文本文件,用做启动信息,向下看)
2.U盘根目录建立一个文件夹(mint),将iso镜像整个的拖入这个文件夹,再从镜像的casper里复制出initrd.lz和vmlinuz与镜像放在一起,编辑menu.lst(我用的是mint镜像……)。
default 0
timeout 10
title >> linuxmint-17-kde-dvd-32bit
root (hd0,0)
kernel (hd0,0)/mint/vmlinuz boot=casper persistent iso-scan/filename=/mint/linuxmint-17-kde-dvd-32bit.iso ro locale=zh_CN.UTF-8 nomodeset
initrd (hd0,0)/mint/initrd.lz
title reboot
reboot
title shutdown
halt
Copy the Code
二、casper-rw
注意上面menu中的boot=casper persistent(注意这两个不是一起用的,这是两个可以独立使用的参数,前一个是必须的),这个persistent参数以前我从来没有用过。它的作用是启动时自动寻找卷标为casper-rw的分区,并使它保存用户数据(听说也是支持文件形式的,但网上也有不起作用的例子)。这个参数可以添加到引导信息文件中(menu.lst),比如你U盘里的可能是syslinux.cfg。
这个分区可以在U盘上,也可以在硬盘上,作为便携U盘,当然是建立在U盘上咯。我这样建立:
制作完启动盘之后,可以看到U盘占用空间的大小。我在windows下使用分区助手将余下的一部分建立ntfs逻辑分区(live系统文件在U盘主分区,我的主分区为ntfs),然后启动liveusb,在linux下将它格式化为ext4(extx……是支持的,fatx、ntfs是不支持的。为什么不在linux切割分区?因为U盘只有一个分区时,这个live系统文件所在的分区是必定会被挂载的,被挂载的分区无法操作。只有先切割一个与live系统无关的分区,才能操作这个分区。)
然后修改卷标为casper-rw即可,要起作用大概得下次启动的时候了,因为casper-rw要一开始就挂载并工作才能保存数据。
成功的标志是,你的home大小会变大,我分了一个8G的casper-rw,home变大为剩余空间为7.6G。相当够用吧,其实我16G的U盘,可以分出14G来。(注意,我将第一个分区保留了7G可用的大小,用来装live系统文件和自己的普通文件,因为windows下u盘只能支持一个分区,第二个分区看不见,即使第二个分区是ntfs,如果你是单奔linux系统,就不需要了,casper这个区也是可以保存文件的)
后记:之后我看到casper-rw分区之下建立了和linux目录一样的文件夹。可以更新并保存除了内核(相关)之外的一切东西,你想更新内核都不可能,live下内核是只读的…另外,live模式比安装到U盘的方法更具有兼容性,我试过直接安装到U盘,但是只要换电脑,基本就启动失败了。另外,与独显的支持是有限的,有些独显开启之后,进入不了live桌面(我的gtx660就是这样。知道pertues这个发行版吗?这是一个不错的发行版,它的U盘目录/pertues/module之下的模块在启动时会自动运行,可以向这里面添加他们提供的驱动模块,傻瓜操作,很简单。)驱动也会影响分辨率,我这儿分辨率无法调高。
Reply
Like 0
Favorite
View the author
All Replies
ArthurDeepin
deepin
2014-10-26 22:15
#1
再传一次grub4dos的两个文件:
Reply
Like 0
View the author
ArthurDeepin
deepin
2014-10-26 23:01
#2
很巧,今天linux中国发了一篇相关的文章:
http://linux.cn/article-4089-1.html
如果两者结合,就可以在硬盘上另类引导运行镜像,并保存用户数据了。这就像另类安装……莫非这就是wubi
:
:
:
:
:
:
:
:
:
: :lol: :lol: :lol:
Reply
Like 0
View the author
iceyer
deepin
2014-10-27 01:16
#3
其实unetbootin/uui等工具都是可以直接支持。deepin boot maker为了功能更加集中,阉割掉了这个功能。
Reply
Like 0
View the author
ArthurDeepin
deepin
2014-10-27 01:21
#4
嗯,这些工具都有这个功能,只是我试验的时候总是不成功,而且这些工具使用的是casper-rw的文件形式,建立文件时非常耗时,没有分区快,而且可能有4G大小限制。
Reply
Like 0
View the author
xliang9550
deepin
2014-10-28 01:01
#5
使用UUI制作Live介质的时候,可以设定用于Persistence功能的分区,对于Ubuntu/Mint有效。
直接安装到U盘上也是可以的,最好使用非日志型的文件系统。移动硬盘可能较好。
Reply
Like 0
View the author
android361abc
deepin
2014-12-20 05:36
#6
优盘建议不要这么用。因为这会影响到U盘使用寿命。
但如果是支持运行win8的盘可以,具体问度娘。
Reply
Like 0
View the author
xliang9550
deepin
2014-12-20 09:25
#7
我直接用ImageWriter写入混合式镜像(Hybrid ISO),得到一个多分区的Live介质。
然后在剩余空间上创建一个扩展分区和若干逻辑分区,挂载到系统中就可以了。
Reply
Like 0
View the author
ArthurDeepin
deepin
2014-12-20 09:32
#8
2014.2rc取消了live,可能不行了吧……(用我的U盘制作方法应该可以,没有使用镜像自动的引导信息)
Reply
Like 0
View the author
Please
sign
in first
Featured Collection
Change
UOS AI 2.8 Released! Three New Intelligent Agents & Major Evolution
Solid Q&A | deepin 25 Common Questions – The Immutable System Edition
New Thread
Popular Ranking
Change
Get Rid of Spaces in English Language
Popular Events
More
上次在论坛里有谈到如何制作可以保存设置的liveusb,最后好像是无果而终。
http://www.linuxdeepin.com/forum/25/24979
然后在这个周末又百度了一下,有些收获,并且实际上也比较简单。
简单来说,第一阶段就是制作一个正常的启动盘,liveusb里常用的引导是grub或者syslinux。
第二阶段,就是建立一个casper-rw(不要问我内在原理,我真不知道……有兴趣的请百度),一种形式是文件形式(我没有成功,上面那个帖子里都是这个原理,但是实际上基本没起作用,也许有些疏漏),另一种形式是创建一个卷标为casper-rw的ext3/4的分区(创建速度比前一个快得多)。
下面是我的经历,大家可以用不同的步骤达到同样的目的。
一、制作启动盘(随意,会的跳过,我手动,用的引导是grub4dos,其他自动化的制作工具多半是syslinux引导)
1.从windows下开始,使用bootice在U盘主引导写入grub4dos(U盘内容不会掉),U盘根目录放入GRLDR文件和menu.lst(这第一个文件是grub4dos的功能包,需要自己找,附件,第二个文件是文本文件,用做启动信息,向下看)
2.U盘根目录建立一个文件夹(mint),将iso镜像整个的拖入这个文件夹,再从镜像的casper里复制出initrd.lz和vmlinuz与镜像放在一起,编辑menu.lst(我用的是mint镜像……)。
二、casper-rw
注意上面menu中的boot=casper persistent(注意这两个不是一起用的,这是两个可以独立使用的参数,前一个是必须的),这个persistent参数以前我从来没有用过。它的作用是启动时自动寻找卷标为casper-rw的分区,并使它保存用户数据(听说也是支持文件形式的,但网上也有不起作用的例子)。这个参数可以添加到引导信息文件中(menu.lst),比如你U盘里的可能是syslinux.cfg。
这个分区可以在U盘上,也可以在硬盘上,作为便携U盘,当然是建立在U盘上咯。我这样建立:
制作完启动盘之后,可以看到U盘占用空间的大小。我在windows下使用分区助手将余下的一部分建立ntfs逻辑分区(live系统文件在U盘主分区,我的主分区为ntfs),然后启动liveusb,在linux下将它格式化为ext4(extx……是支持的,fatx、ntfs是不支持的。为什么不在linux切割分区?因为U盘只有一个分区时,这个live系统文件所在的分区是必定会被挂载的,被挂载的分区无法操作。只有先切割一个与live系统无关的分区,才能操作这个分区。)
然后修改卷标为casper-rw即可,要起作用大概得下次启动的时候了,因为casper-rw要一开始就挂载并工作才能保存数据。
成功的标志是,你的home大小会变大,我分了一个8G的casper-rw,home变大为剩余空间为7.6G。相当够用吧,其实我16G的U盘,可以分出14G来。(注意,我将第一个分区保留了7G可用的大小,用来装live系统文件和自己的普通文件,因为windows下u盘只能支持一个分区,第二个分区看不见,即使第二个分区是ntfs,如果你是单奔linux系统,就不需要了,casper这个区也是可以保存文件的)
后记:之后我看到casper-rw分区之下建立了和linux目录一样的文件夹。可以更新并保存除了内核(相关)之外的一切东西,你想更新内核都不可能,live下内核是只读的…另外,live模式比安装到U盘的方法更具有兼容性,我试过直接安装到U盘,但是只要换电脑,基本就启动失败了。另外,与独显的支持是有限的,有些独显开启之后,进入不了live桌面(我的gtx660就是这样。知道pertues这个发行版吗?这是一个不错的发行版,它的U盘目录/pertues/module之下的模块在启动时会自动运行,可以向这里面添加他们提供的驱动模块,傻瓜操作,很简单。)驱动也会影响分辨率,我这儿分辨率无法调高。