在U盘上安装debian linux

时间:2021-03-08 07:04:17

台式机最后还是挂了。虽然还没彻底挂,启动起来已经颇为麻烦,而且升级到3.0内核后把显示器都给搞熄灭了。跑起来必须用笔记本上的xmanager才能远程玩玩。


于是决定在笔记本上弄个真正的linux。毕竟笔记本内存不是很大,虚拟机上搞,速度不爽。于是想在U盘上装一个。准备了一个16G的U盘。


笔记本已经装了win7,而且所有的分区都是NTFS的了。在这个情况下,用U盘安装debian就相当刺激了。我下载了debian的ISO之后懒得刻盘,所以……我的安装过程可能是史上最复杂的了。


首先,U盘分区。

windows下不太承认一个U盘上有多个分区,所以分区主要去linux下干。用一台真实的linux主机去搞会比较好。如果要安装的是ubuntu,还可以用它的live CD弄。可惜我要安装的是debian。还好我有一台真实的linux主机——虽然只能从xmanager上搞。

google出来的文章都说U盘分区用fdisk。不过我尝试的结果不靠谱。用parted这个工具毕竟实际。交互式的,比较好用。rm命令先删掉所有的分区,再用mkpart创建几个分区,写入后mkfs就可以了。我打算在16G上分三个区。一个swap,一个/,一个home。分swap的时候要注意分区类型为linux-swap。另外两个分区分为ext2。据说ext3对硬盘读写比较频繁。U盘速度不太高,还是少读为好。分区完后需要把第二个准备安装/的分区用toggle命令设定为可以启动的分区。弄好后要重启一下主机。

需要说明:这样分区过的U盘,windows下就不认识了,会让你格式化,千万别冒傻气,否则你白忙了。


第二步,安装grub。我不希望硬盘上有任何和linux有关的东西,所以grub要安装到U盘上。

mount/dev/sdb2 /media/test

grub-install--root-directory=/media/test/ --no-floppy /dev/sdb



其中我的U盘对应/dev/sdb,第二个分区是/,grub安装在这个分区上。

这一步弄好后就可以去BIOS里面设置U盘优先启动了。


第三步:下载硬盘安装版的vmlinuz和initrd.gz这两个文件。我的ISO是最新的squeeze稳定版,对应的文件在http://mirrors.163.com/debian/dists/squeeze/main/installer-i386/current/images/hd-media/。这两个文件下载后随便扔到哪个NTFS的分区都没问题。而ISO文件则要放在另一张普通的U盘上。当然,如果你运气不是特别背,也可以把vmlinuz和initrd.gz和ISO放在同一个U盘上而不是硬盘上。当然,我就属于特别背的那个。BIOS启动后直接去找的是没安装grub的U盘,所以我的vmlinuz不能放在这个盘上。确实可以考虑放在有grub的U盘上。但……这需要借助linux主机才可以了。所以,我的带有ISO的U盘不能一开始就插入。


第四步:引导grub

用ls命令看看有几个分区

root (hd1,msdos3) #这是我存放vmlinuz文件的位置。在我的硬盘的三个分区。

执行这一行后会提示这个分区是ntfs


linux (hd1,msdos3)/vmlinuz

initrd (hd1,msdos3)/initrd.gz

boot

在boot回车前插入带有ISO的U盘。


第五步,此时已经进入了正常的安装模式了。


第六部:不要让grub安装到MBR去了——这样会把硬盘给弄个grub。选择安装到U盘的根分区。此时获得的U盘是无法引导的。必须再回到linux主机去重新安装grub。

如果你对grub足够熟悉,在这一步选择不安装grub。通过手动修改grub.cfg来配置启动菜单


最后,debian上需要安装一个wicd-gtk,否则无线网络比较难搞。


这里面最难缠的就是:grub支持从ntfs分区引导vmlinuz,而vmlinuz却不支持从ntfs引导iso,所以必须借助另一张U盘。

-------------------

以上就是我在U盘安装deiban的经过。我目前正在用的就是这个系统。

至于你信不信

反正我是信了^_^