Sunday, February 28, 2010

这几天做了一些怨念了一年的“工作”──1

总的来说,有三部分工作:

1. 备份旧laptop(以下简称acer)上的相片、音乐、文档等到移动硬盘,这些冬冬都是从07年入手以来积累的,而且,分散在机子上的两个系统:windows & linux。
2. 装win7
3. 装archlinux,部署LVM以及GRUB2

首先第一部分主要就是体力活了……
既然开始做了,就顺便把我办公室、mac上的东西一起倒腾了……
于是花了近一天时间,备份了约100G的音乐、图片、文档、电影,orz
其中相片还专门写了script(win下的bat)压缩成zip,短小精悍,很实用,适用于分别压缩一个大文件夹里的所有小文件夹到单独的压缩文件。
因为我的相片就是这么管理的。脚本如下:

FOR /D %%i in (*) DO 7z a -tzip %%i.zip %%i

做好后加上整理,真是忙得不亦乐乎。
另外还顺便把几个机器上的几个版本的QQ/TM的聊天记录导出,统一导入到office机器上。竟然有30M之大……我是水王么 -.-

这里很繁琐,就不多说了。

然后是装win7,从某同学处弄来一个ISO,做成了USB disk。
微软非常慷慨地提供了这个工具来制作: http://store.microsoft.com/Help/ISO-Tool
制作好后,设置为USB KEY启动即可。

这里问题来了,也是我的历史遗留问题,请看我的旧的硬盘分区(120G):
P代表primary, L代表logical (记得最多只有4个primary)
(P1)OEM reserved, 10G, 装了sb acer给我留的windows备份。
(P2)25G,原windows系统盘
(P3)40G,  原windows媒体盘
(P4)剩余空间,拓展为若干个区,其中:
(L5)20G,windows资料盘
(L6)1G linux swap 1
(L7)5G linux root
(L8)4G /usr/local用
(L9)6G /home用
(L10)1G linux swap 2 ──由于历史原因,这个swap是后来才加进去的,因为之前的1G不够1.5G内存大,导致无法睡眠。
(L11)100M /boot 用

而现在我的重新规划是:60G给win,60G给linux,并且使用LVM管理linux,同时升级为ext4/reiserfs(写这篇文章时尚未决定)
于是弄好usb后,说干就干。把P1-P3都给干掉,分配前60G给win。后面剩余的约15G暂时留空准备分给linux。

这个过程很顺利,win7的安装很成熟,塞进去,分区格式化,15分钟安装搞定。
进去后连上网下载显卡驱动,同时搞定一些常用软件,it's all done!

问题随之而来──大家都知道装windows会覆盖掉MBR的信息。
因此这里需要使用grub的修复功能。这个因为以前试过,所以没怎么看资料就进行了,加上利用windows安装的时间已经做好了archlinux的usb启动盘,详情看这里
dd一个iso即可,非常方便。

进入archlinux的livecd,把root和boot分别mount到/mnt/root与/mnt/root/boot后,执行grub的修复命令:
grub-install --root-directory=/mnt/root/boot /dev/sda
然后重启即可。

但是诡异问题就出在了这里──grub里面,hd0的分区编号顺序竟然变了!
一开始根本没有想到,后来好在发现可以用cat加上按tab这个招数一个个去试究竟(hd0,x)里面的内容是什么才找到原来的boot,/等的位置。
非常诡异地,我的/boot变为了6,而 '/' 变为了8(原来是10)。
这里花了我不少时间,搞清楚问题后就方便了,
这里必须修改/boot/grub/menu.lst里面关于kernel, splashimage等的对应信息才能正常启动grub。
启动后进入了熟悉的grub界面,进入linux成功!

不过接着问题又来了──选择windows项,则grub提示bootmgr is missing,囧rz,是grub的安装又把windows的启动文件给搞掉了?
重新塞入windows livecd usb,选择修复,seems alright,重启后还是一样的症状,why?
原来,windows 7 安装时,会创建一个类似boot分区的东东,大小也是100M。
此时grub里对应的hd分区就再也不是原来的windows系统盘了,而是这个"boot"分区了。
修改后成功进入win7.

OK.
第三部分还未开始呢……LVM和GRUB2还没搞清楚,待我继续研究完,参加完美国会议再说~

No comments: