硬盘安装ubuntu 13.04

想通过深度卸载包来回收一点空间,执行了下面的命令,结果导致系统再也不能进入

dpkg --purge `dpkg --get-selections | grep deinstall | cut -f1` 

dpkg –purge时一定要谨慎啊,虽然有些包已经已经标记为deinstall,但事实还是不能卸载的

于是干脆安装ubuntu 13.04

不想刻录光盘,又不想使用u盘,采取硬盘安装方式(非wubi)。
因为需要修改grub.cfg,所以这种安装方式的前提是已经安装有ubuntu旧版本并且还能使用shell。

安装步骤:
1.下载ubuntu 13.04镜像,余是下载了64位的gnome版本。为了简化后面的修改,重命名镜像为ubuntu.iso。镜像推荐放在非目标安装分区的根目录下,例如D:\ubuntu.iso

2.确定ubuntu.iso所在磁盘以及所在分区的序号
只有一个硬盘的情况下,一般sda指示这个硬盘,sda1指示第一个分区。但扩展分区也会占用一个设备文件,并且有些序号没被使用但仍会空缺,所以保险起见,还是在ubuntu能用的时候,使用工具来确定:

sudo gparted

假设结果是/dev/sda5,那么ubuntu.iso所在磁盘/分区就是(hd0,5)

tips:
实在找不到是哪一个设备文件的情况下,可以一个一个的加载尝试(mount或者ntfs-3g命令)

sudo mkdir /mnt/d
sudo ntfs-3g /dev/sda5 /mnt/d
cd /mnt/d
ls

3.修改/boot/grub/grub.cfg(在ubuntu崩溃的情况下,用修复模式进入命令行即可修改),在最后增加:

menuentry "install ubuntu 13.04" --class gnu-linux --class gnu --class os {
        insmod ntfs
        loopback loop (hd0,5)/ubuntu.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu.iso locale=en_US.utf8 noprompt noeject splash
        initrd (loop)/casper/initrd.lz
}

注意insmod
fat32/fat16分区 -> fat
NTFS分区 -> ntfs
ext2/ext3/ext4分区 -> ext2

重新启动计算机,grub菜单就会在最后增加一个新的选项。

4.成功启动后,首先卸载iso镜像:

ubuntu-gnome@ubuntu-gnome:~$ sudo umount -l /isodevice

如果启动安装程序后没找到磁盘分区信息,可以尝试卸载dmraid

ubuntu-gnome@ubuntu-gnome:~$ sudo apt-get remove dmraid

启动安装程序后没找到磁盘分区信息是个莫名其妙的BUG,ubuntu各个版本都存在。
新版ubuntu的内核都是3.0以上了,SATA硬盘的AHCI mode(BIOS中设置)是肯定支持的,虽然余切换到ATA模式时BUG也没出现,但推荐使用AHCI模式安装。如果出现这个BUG,在卸载dmraid后还不能解决时,可以尝试修改这个BIOS选项。

===补记===
Gnome版ubuntu 13.04的包升级一定要小心。
在安装好系统后,如果执行

sudo apt-get update
sudo apt-get upgrade

或者按照系统的建议进行包升级,在重启后登录时将会出现Failed to load session "gnome"错误!
原因是Gnome的很多相关包都没进入ubuntu的官方源,这样的升级会导致某些必要包被卸载

推荐的升级方法:

sudo add-apt-repository ppa:gnome3-team/gnome3
sudo apt-get update
sudo apt-get dist-upgrade

补救方法:在修复模式下执行同上命令

2013年5月13日 | 归档于 技术
标签: , ,
  1. 2013年7月30日 21:23 | #1

    利用grub2启动iso第一次见诶,到现在还只会用U盘装。 :cry:

发表评论

XHTML: 您可以使用这些标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!: