csatblogspotdotcom

Monday, January 12, 2009

在U盘中安装系统

服务器grub坏了,而且又没有光驱,只好在U盘上制作一个系统。
开始时准备用dsl,这个系统默认用syslinux作为引导系统,它比grub小,但不能交互,它专门用于引导Windows的fat32格式,对应的还有isolinux(引导iso,ubuntu的livecd就是用的这个),pxelinux(引导pxe),extlinux(引导ext格式)等。
方法参见http://damnsmalllinux.org./wiki/index.php/Installing_to_a_USB_Flash_Drive
先在U盘中准备fat32分区,接着把dsl-embedded的镜像拷贝进去,之后再在命令行中运行命令syslinux -ma E: 这里的E为盘符,在这一步中刚开始我用自己的U盘,明明没编号E的设备,但默认编号却是F,结果运行不成功,后来强制改盘符为E还是不行,最后试着从这个U盘启动结果失败,看来我的U盘确实有问题;于是改着用别人的U盘,syslinux -ma E: 后从这个启动成功,想进入菜单按F2,想改菜单选项则修改syslinux.cfg文件。
其实U盘空间够大的话可以把Ubuntu的livecd的内容完全拷贝进U盘,然后改isolinux/isolinux.cfg为isolinux/syslinux.cfg,接下来还有安装syslinux和mtools等步骤。

由于不能交互,于是试着安装grub到U盘
开始用命令grub-install /dev/sda1没成功,于是将/boot/grub/下的几个stage1、stage2以及grub.conf和menu.lst文件拷贝到U盘后进入一个已有的grub,运行
root (hda1)
setup (hda1,0)
quit
即可,修改grub.conf,使启动选项正确,或者从命令交互式启动都可以。
成功!

接下来进入dsl后,发现居然识别不了硬盘!fdisk -l 只显示U盘分区,莫非是dsl所在分区为fat32格式的原因?算了,也没时间了,干脆在U盘里装一个完整的Ubuntu操作系统。


后记:昨天没搞完,今天继续。
最初准备在虚拟机中向U盘装Ubuntu,但可惜识别不出U盘,后来识别出了,但格不了,所以只好在物理磁盘上装。由于手上有个Ubuntu的光盘,所以用livecd向U盘装,但U盘还是格不了,没办法,只好又选择从网络安装(redhat有从ftp方式安装,而Debian系的可以从源安装),先进入install/netboot/ubuntu-installer/i386/文件夹(可以从iso文件中拷贝,也可以从网上的源中下载),弄到linux和initrd.gz两个文件,从这两个文件启动。接下来有一步选择源的位置,我选择手动输入了个中科大的源,一个填debian.ustc.edu.cn,另一个填/ubuntu/,整个过程速度比较快(估计自己挂载镜像,选择源时直接填IP和文件夹路径应该也可以),最后安装成功,而且grub也安装成功,但是从U盘启动后虽然可以进grub却不能正常启动Ubuntu系统。不过这样也好,只要有grub,就可以设置启动项了。
据说该U盘曾经被装过rhel5,可以启动系统但装不上grub。


在网上还看到一个软件:UNetbootin,设置一下后直接把livecd的iso拷贝进去就可以了,十分方便,以后有机会试试。

Labels: ,

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home