再将windowsxp的相关引导文件,以及一键ghost、wine、ubuntu相关文件拷入,就是一个工具盘,因为还没来得及研究grub,所以暂时用windowsxp的引导。
经过这回的经验,发现之前的教程不大完善,有时间在改改!
———————————— 以上是补充,以下是原文 ————————————
代码: 全选
这里是教程,框外的是废话!
总结:插入U盘 -> umount sdc -> gaprted 创建msdos分区表 -> 分区(windows只能自动挂载第一个分区且编号是1的分区)-> 装系统
1、插入U盘
2、用磁盘实用工具分区对U盘进行分区,在首部创立一个小小的分区就行了,目的是暴力型创建msdos分区表,这样BIOS、PQ、DISKGEN等就会将U盘识别为HARD DISK而非USB-HDD,分区上也能实现与HARD DISK完全一样的操作。
3、用gparted调整分区,通常推荐分两个区,一个系统用,一个U盘用,如果您不需要U盘,可无视下一步!
gparted调整分区时,注意一定要留下最少一个分区,不然分区表就又变了(可能),另外一个注意的是windows识别U盘,只会将第一个分区且是第一号分区自动挂载,所以:
* 空 -> * 空 * -> 空 * -> 1G 空 * -> 1G * 最后的1G是U盘用,*是系统用。
例如我的金士顿U盘,4G,经过第一步后,fdisk探测到501 cylinders,以下对应上面的分区结果显示,当然直接用fdisk也方便,但是就需要手动计算出大小所需要的柱面数。
sdc1 1 2 -> sdc1 1 2 sdc2 500 501 -> sdc2 500 501 -> sdc1 1 131 sdc2 500 501 -> sdc1 1 131 sdc2 132 501
可看出1G是1~131,1×1024×1024×1024÷255÷63÷512=130.541674448 -> 130+1=131
如果之前是用gparted分区的话,之后最好用fdisk检查一遍。
3.5 大家试试用gparted创建msdos分区表,然后fdisk分区试试,因为之前我创建完msdos后,分区时会提醒不满足分区要求,这是loop系统所显示的,而磁盘实用工具分区后就没问题。可能我那时没有umount sdc吧,刚才用gaprted重新创建了,在没有umount sdc1 sdc2的情况下不能分第三个分区,umount就行了,不知道之前是不是这个原因。
所以大家可以尝试一下步骤:插入U盘 -> umount sdc -> gaprted 创建msdos分区表 -> ...
用fdisk恢复一下刚才分乱的分区表,话说一号分区没分回来,估计是刚才创建分区表的缘故,如果这样mbr的grub也没了,这回写在系统分区,想起了windowsxp安装盘和PQ默认分区时,都会空出第一个柱面,是这个原因吗!?安全倒是真的,因为坏扇区导致第一分区消失是一个典型故障!
4.装系统,我用的方式是[url=http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=176612]ptptptptptpt大大的UCloner-10.10.1[/url]备份的2010-11-27_223231.squashfs,恢复得来的系统,恢复耗费15分钟,可能是我的U盘多次量产,还有年久,速度慢了,比刚买时候慢多了。
UCloner-10.10.1的特性,如果在已经恢复的分区再恢复,就会略过存在的文件,我在修复mbr的grub时发现的。
话说我还是喜欢将grub写在系统区上,写在mbr上就不用设活动分区,但是分区变后我不会修改mbr的grub指向。
————————以下是以前写的————————
首先说是自己偶然发现的,还没来得及研究grub的说。
几天前,因为硬盘噪音很大,所以萌生了U盘运行操作系统的念头,话说以前硬盘空间不够时,曾经用过grub引导iso运行live,下载东西,但是该方法占用内存大,配置文件无法保存。说到内存,前段时间自己找到的挂在内存的方法,可能跟大家的不一样,以前见过命令但是没记下来。
这是大家回答的:
代码: 全选
sudo gedit /etc/fstab
加入:tmpfs /tmp tmpfs size=300m,mode=1777 0 0
这样开机后tmp目录就有300M的虚拟硬盘
代码: 全选
sudo mount -t ramfs /dev/random /var/tmp
sudo chmod 777 /var/tmp
那个ramfs后面的 /dev/random 是可以随便写的,只是个代替内存的标识而已!
这种方法要注意的就是空间大下,加载后剩余空间显示为"未知",我的内存是1.5G,当向目录复制文件超过空闲内存时,系统就要挂掉了,硬盘灯一直闪,系统卡死,但是没发生过什么危害,大家有兴趣的话可以体验一下,上上句我不负责的说!
还有在该目录下,Delete删除文件不会出现在回收站,但也不会释放,所以当到达一定空间时,也会发生以上状况,Shift+Delete就没问题,卸载后应该也是,因为就连没删除的都不见了,现在就不试了!
以前是因为循环听歌,才想要找这种方法的说,而对于视频文件,mplayer的cache有最大限制,而且貌似不管用!
言归正传,前段时间,那时U盘还是量产的USB-CDROM形态,突发奇想要将ubuntu安装到U盘上,而非iso镜像,所以就用gparted分区,那时貌似删除分区后(gparted只能识别余下的空间),忘了,总之也是困难重重,分区限制什么的,但是没用到磁盘实用工具,当初貌似创建分区表,但是只能建一个主分区,于是建了一个扩展分区,在其基础上建了两个逻辑分区,一个系统用,一个当U盘,制作成功,用的是ptptptptptpt大大的UCloner-10.10.1,之前备份的文件。当U盘的是FAT32,以前安装系统的时候注意过/home即便是单独一个分区也一定是linux分区格式,所以这个home就有问题。可能是权限不明吧,无法启用home、无法存放配置,后来将分区删了,就出现/home挂载问题,S不挂载就启动,M手动挂载,前者状况不变,后者既可以设置创建、修改 /home 目录,也可以将内存挂载到 /home上,但是每回都要S/M,估计是要改cfg上的/ home挂载信息才行。
后来发现windows下只能识别一个分区,而且是第一个分区!
前天晚上,想好好的做一个装在U盘上的ubuntu!
1、量产工具在winpe下不能运行,说无法读取用户信息,于是在老硬盘上装上了windows,我之前做的windows完成安装、配置之前那个步骤,删掉万能驱动、额外组件、软件包的YS5.6,后来发现原来windows分区盘符的方式是在之前的步骤就决定下的,开始装系统时就草免了分区ID,按照物理顺序排出了DEF...
量产成原装,但是gparted下分区总是只能分一个主分区,于是研究了一下量产工具,又试了几种模式,无果!
但是一旦gparted创建msdos分区表后,PQ、DISKGEN就把U盘当作HARD DISK识别了,开机F12中的HARD DISK也出现了U盘。但是gparted还是不行。
后来发现,磁盘实用工具是一个很强很暴力的工具,...有点乱,忘了msdos之后,PQ是否真的能识别了,但是PQ编辑有问题,会留下一个剩余的小尾巴!
后来是用磁盘实用工具从U盘中在前部随便分了个小空间的分区,这样gparted就可以对U盘进行编辑了,此时gartped对待U盘和对待HDD一样了,只是千万要在U盘上保留一个分区,否则gparted又不行了。
2、总之,分了两个主分区,话说我对逻辑分区很是不感冒,一般硬盘分区方案也都是先从后往前分,决定好数据区(主分区),中间的工作区(扩展分区),系统区(主分区),这样各分区大小就决定好了,然后就从前往后分,工作区依据情况分几个逻辑分区。后来用ubuntu,就是/、/home、数据区,三个都是ext4的主分区。
说回来,开始是2.*G(系统用)+1G(U盘用),这回就不决定/home了。结果是后来Ctrl+Alt+F*,建立了/home和用户目录,chown等。
结果就是发现了windows识别出来的U盘是2.*G,手动加载1G不行,只能加载第一个分区,因为windows还是把这个当作U盘了,而BIOS、分区工具已经把他当作HARD DISK了!加载1G时说没开启逻辑卷,这是U盘分区的特性!
于是重新分区1G + 2.*G,系统也恢复了,话说U盘的系统恢复平均是15分钟,grub这回装在了mbr上,我喜欢系统在1号分区,所以就成了sdc2 + sdc1,结果windows可以加载1G了,但是只是手动可以加载,后来将分区编号用fdisk换了下,也把grub.cfg改正了,结果grub仍无法引导,原来这里的grub没有西东搜索功能,硬盘安装ubuntu中提到的grub就是自动搜索menu.lst的。
然后再回复一遍,发现原来系统恢复是智能的,存在的文件就不需要恢复了,结果就是修复了下mbr上的grub。
3、现在就一切完成了,但是我果然还是喜欢将grub放在系统所在分区上,因为现在分区没有/boot等标示,所以不知道对windows识别有没有影响。现在windows可以识别并自动加载1G了。
刚才在开机F12中试了下USB-HDD引导,无果,也就是说现在的U盘不是USB-HDD,而是HARD DISK!
总结一下,U盘 -> 磁盘实用工具分区 -> gparted调整分区(注:windows只能自动挂载第一个分区且编号是1的分区) -> 安装系统!
在一次系统恢复中失败过,就是因为把ramfs挂载到 /tmp 上了,因为UCloner-10.10.1恢复时也是将目标分区挂载在 /tmp 目录下的!于是我就将挂载点设在/var/tmp了,也说不定哪会又错了,所以直接建一个目录也不错,就叫 /random!
令挂载到 /tmp 会影响系统程序运行,无害,大家可以试一下,恢复正常用:
代码: 全选
sudo umount /dev/random