当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 在U盘上安装Linux
帖子发表于 : 2009-04-12 15:43 
头像

注册: 2007-02-18 19:33
帖子: 2180
地址: lyric.im
系统: OSX
送出感谢: 0 次
接收感谢: 1
(via)
上回受Shell.E.Xu同学的盅惑,决定往U盘上装个Linux,以便不时之需。考虑到维护的方便性,还是使用Debian的好。于是就去debian.org搞了个base system的iso

最初猜想着也就直接复制debian / 到U盘就行了,但是看到xiooli同学的joolix os是用slax的那套脚本搞的,于是又去看slax。

最后决定直接请教Shell.E.Xu同学。

Shell.E.Xu的说话风格颇像北斗星君同学…之间还被他训斥了几句,被鄙视了,5555 :(

好了,下面是无废话安装Linux到U盘的过程,你需要根据自己的情况修改:

1. 安装VirtualBox,挂载debian iso,安装debian (理论上可以直接安装到Udisk,因为我之前有debian在Box里面,所以就使用现成的debian了)
2. 把debian折腾好。
3. 将你的U-disk格式化成ext2。
4. 将U-disk挂载到VirtualBox中的Debian,比如我挂载到/media/sneak
5. 除了/sys, /media, /proc, /tmp, /dev,将debian的其他目录复制/media/sneak下,使用cp -a
6. mkdir /media/sneak/[proc, sys, media, tmp, dev],建立没复制的目录。
7. chmod +t /media/sneak/tmp

由于我的debian下缺几个程序,又懒得装,所以我下面的操作是在我的gentoo Host下完成的:

1. 为了方便,使用e2label /dev/sdb1 sneak,把我的U盘加个Label,叫sneak
2. 挂载到/media/sneak
3. 修改文件 vim /media/sneak/boot/grub/device.map,
代码:
      (hd0)    /dev/sdb

其中sdb就是在我的系统中,U盘的设备名字
4. 执行:

代码:
      # mount -t proc none /media/sneak/proc/
      # mount -o bind /dev /media/sneak/dev/
      # chroot /media/sneak/


注意:下面的操作都在chroot里!平时需要维护U-disk的Linux时我也在chroot下进行de 。
5. 安装grub到Udisk,执行:
代码:
      # /usr/sbin/grub-install /dev/sdb

根据提示判断是否将grub安装成功,如果不成功,根据提示解决
6. 修改/etc/fstab,比如我的:

代码:
      LABEL=sneak       /               ext2    defaults        0       0
      /dev/hdc        /media/cdrom0   udf,iso9660 user,noauto     0       0
      proc            /proc           proc    defaults        0       0


可以看到第一步中设置Label的作用在此,否则回头插到别的机器鬼才知道会变成第几个sd/hd呢,当然了,也可以使用blkid -s UUID,随便你
7. 修改/boot/grub/menu.lst,下面是我的部分内容:

title Debian GNU/Linux, kernel 2.6.26-1-686
root (hd0,0)
kernel /boot/vmlinuz-2.6.26-1-686 root=LABEL=sneak
initrd /boot/initrd.img-2.6.26-1-686

8. 好了,现在umount,然后可以在真机上测试一下了(不知道怎么在VBox里面测试)

如果不出意外的话,就进入U盘中的debian了。

如果出意外的话—比如我—就遇到了两种意外:

1. 进入了grub,但是无法加载内核:检测你的grub menu.list,root那儿有没有错
2. 进入了grub,加载了内核,但是最后到了busybox:检查你的grub menu.list,kernel的root属性有没有错,再检查你的/etc/fstab有没有错。

如果连grub都没进去,检查BIOS设置有没有错。

感想:用惯了gentoo,现在Udisk里的debian安装软件怎一个简单了得,apt真是新手福音啊~~
不过,我还是喜欢gentoo,真是变态。

———[Update 12th April 2009]——————————————————-

可以用VirtualBox测试(via)。只要使用建立一个到USB设备的raw disk,然后当成硬盘间接启动即可(推荐使用, 不推荐使用chroot):

代码:
# VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/VDI/UsbDisk.vmdk -rawdisk /dev/sdb -register


然后选择UsbDisk.vmdk作为第一磁盘控制器即可。


_________________
既然你诚心诚意地问了
我就大慈大悲地告诉你
为了防止世界被破坏
为了维护世界的和平
贯彻爱与真实的罪恶
可爱而又迷人的反派角色
武藏,小次郎
我们是穿越银河的火箭队,白洞白色的明天在等着我们。就是这样!!喵~~


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译