Conner 的个人资料☆ Conner Wang ☆照片日志列表更多 工具 帮助

日志


11月8日

Windows 7和Ubuntu 9.10双系统的安装步骤

最近刷新了BIOS,并且安装了Windows7,用得还可以,决定以后摒弃Vista和Xp。而就在10月29日,Ubuntu也发布了其最新版的9.10,因此决定将以前的Xp,Vista,Ubuntu 8.10 & Mac Leopard四系统更新为Windows7,Ubuntu 9.l10和Snow Leopard。

笔者以前写过两篇文章,1. XP、Vista和Ubuntu三引导系统安装;2. iPC Mac OSX Leopard安装成功。分别介绍了Xp,Vista,Ubuntu 8.10 & Mac Leopard四引导系统的安装,而现在要实现新的Windows7,Ubuntu 9.l10和Snow Leopard(日后再安装)三系统的安装,原理是一样的,这里再简单缀述一下。不同之处在于,摒弃了Xp,也就没有了Xp的boot.ini,但这样也更统一和简单了。

初步设想:

1. 先安装Windows 7
2. 硬盘安装Ubuntu 9.10,并将其引导程序(grub2)安装在Ubuntu所在分区上,而不是MBR上
3. 用Windows 7自已的bootloader来引导Ubuntu

具体做法如下:

1. 安装Windows 7

2. 下载并安装Grub4Dos(如果你有Ubuntu安装光盘,则更简单,就不用Grub4dos了,直接光盘引导并转至第3.5步)

将下载下来的Grub4Dos解压,并将其中的grldr,grub.exe,grldr.mbr,menu.ls等四个文件拷贝到C盘跟目录,以管理员身份打开命令行并执行如下命令,从而使Win7的bootloader能够引导Grub4dos:
>dedit /create /d "Grub 4 Dos" /application bootsector
项 {******} 成功创建。
>bcdedit /set {******} device partition=c:
>bcdedit /set {******}  path \grldr.mbr
>bcdedit /displayorder {******}  /addlast

3. 下载并从硬盘安装Ubuntu 9.10

3.1) 从下载的Ubuntu的iso文件中解压出casper文件夹中的vmlinuz、initrd.lz并复制到C盘根目录下

3.2) 编辑C盘根目录下建立menu.lst文件,加入:
title Install Ubuntu
root (hd0,0)
kernel (hd0,0)/vmlinuz boot=casper iso-scan/filename=/ubuntu-9.10-desktop-i386.iso ro quiet splash locale=zh_CN.UTF-8
initrd (hd0,0)/initrd.lz

3.3) 将ubuntu-9.10-desktop-i386.iso复制到任意盘(如果是另一块硬盘、移动硬盘或U盘更好)根目录下

3.4) 重启电脑,选择"Install Ubuntu"进入Ubuntu的Live CD系统

3.5) 打开终端,执行sudo umount -l /isodevice(如果不执行这步,安装过程中将无法分区,不过如果你的iso文件在另外的硬盘或U盘上,则可省略这步)

3.6) 点击桌面上的安装快捷方式进行安装 (你可以在安装的时候上上网或者玩会游戏,这点Ubuntu设计的比较好) \

3.7) 注意安装过程中有一个高级选项,请不要将引导程序装到mbr里去,而要安装在Ubuntu所在的分区

3.8) 安装完毕后先不要重启,称机将Ubuntu分区的前512字节拷贝出来,以备引导之用。
假设Windows7安装在C盘,卷标为win7,而Ubuntu安装在sda3上,则你此时打开Unbuntu的终端,执行
cd /media/win7
sudo dd if=/dev/sda3 of=./ubuntu.lnx bs=512 count=1

这样,Ubuntu的引导信息就保存在C盘里的一个名字叫ubuntu.lnx的文件中了。

4. 让Windows7能够引导Ubuntu
重新启动,进入Windows7,以管理员身份打开命令行并执行如下命令,将Ubuntu引导项加入到Win7的bootloader中:
>bcdedit /create /d "Ubuntu 9.10" /application bootsector
项 {******} 成功创建。
>bcdedit /set {******}  device partition=c:
>bcdedit /set {******}  path \ubuntu.lnx
>bcdedit /displayorder {******}  /addlast

大功告成!

11月7日

xargs命令的用法

摘抄自《LINUX与UNIX Shell编程指南》中的内容供参考。

  在使用find命令的-exec选项处理匹配到的文件时,find命令将所有匹配到的文件一起传递给exec执行。不幸的是,有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。Find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。在有些系统中,使用-exec选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高;而使用xargs命令则只有一个进程。另外,在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定。