Me

1/06/2011

/boot 分区被删掉了怎么办?

/boot 分区被删掉了怎么办?


这个真的是在我办公室电脑上发生了。当时正常开机,等待引导系统时,却发现直接进入了 grub 命令行 grub>
我顿时感到惊奇,哪里出了问题?不过还是试着加载内核,但是输入 (hd0,5) 后提示错误。按 tab 键出来的备选分区也少了一个。
我试着引导 XP,
grub>rootnoverify (hd0,0)
grub>chainloader +1
grub>boot

还好,XP 正常引导,看来不是硬盘的问题。从 XP 中查看了分区结构,/boot 那个几百兆的分区神奇的被删除了。到现在我还是没有找到被删的原因。
既然如此,那就每天输入命令进 XP 吧,反正工作也需要它。
前言到此结束。
直到昨天,我决定把我的 Fedora 修好。
按照自己的假设,应该重建 boot 分区然后挂载,把内核镜像还有 grub 相关文件放进去,就可以了。当然前提是要能建立删掉的分区才可以。XP 下是没指望,还是用万能的 rescue 模式吧。
我没有 rescue 光盘,也不打算为此刻录一张(太浪费资源了)。在此向您推荐 bfo[1] 或 bko[2],关于这两个的介绍可以参考我之前写的kickstart 和 BFO 引导自动安装 Fedora[3]。
现在进入恢复步骤:
1. 从带有 bfo 镜像的 U 盘启动计算机,通过 bfo 进入 rescue 模式;
2. rescue 模式会找到硬盘上已有的 Linux,然后按提示进入 shell;
3. 为了方便,在进入 shell 后执行 chroot /mnt/sysimage/;这样可将找到的 Linux 系统的根目录设为当前 shell 下的根目录;
4. 执行 #fdisk /dev/sda,然后按 p 列出当前分区表结构,以保证稍后建立分区时不会出错。如果你非常地熟悉自己的分区结构,可忽略这个操作;
5. 按 n 键,新建分区,我的 /boot 之前处于扩展分区,因此这里还是选择扩展分区(l),然后设置分区起止位置,如果跟我一样,硬盘只剩下之前 /boot 那么点空白空间的话,那直接使用默认值就可以。如果您的硬盘空白空间很大,并不打算都用作 /boot,那就小心一点,根据您的需要进行调整;
6. 完成新建分区后,按 p 键你也许会发现分区顺序有所改变。例如我新建的分区就成了 /dev/sda7。这时我们可以按 x 进入 expert mode,然后按 f 键,重新调整分区编号顺序,使得分区编号与分区所在物理位置对应,修改后新建的分区编号为 /dev/sda6;
8. 完成以上步骤,并确认没有错误后,按 w 键保存分区表,退出 fdisk。
重新启动计算机,再次进入 rescue 模式,重复 1-3 步,
9. 然后执行 #mkfs.ext4 /dev/sda6,在新建的分区创建 ext4 文件系统;
10. 修改 /etc/fstab,将新建的分区挂载到 /boot;
11. 重新安装引导程序和内核:
执行 #grub-install /dev/sda 重新安装 grub
运行 #yum update kernel 安装最新的内核
12. 如果这时已有 /boot/grub/grub.conf 文件,那么就可以直接重启完成修复;否则要是像小弟我,装完 grub 没有 grub.conf(我怀疑是我先安装内核后安装 grub 造成的)文件,那就需要自己动手写一个了(这个过程略掉了)。好在我之前保存过一个备份,直接改改复制到了 /boot/grub/ 下,好了,重新启动;

一切正常,/boot 重建成功,大功告成。

[1] http://boot.fedoraproject.org
[2] http://boot.kernel.org
[3] http://www.helpsworld.org/blog/?p=481

12/20/2010

手动升级 Fedora 12 中的 Firefox-3.5 到 Firefox-3.6.13

Fedora 12 已经没有 Firefox-3.6 的更新了。虽说 Firefox 下载解压即可使用,但是为了方便就尝试把 3.6 的文件放到 /usr/lib/firefox-3.5/。也许这真是多此一举 :)

1. tar xjf firefox-3.6.13.tar.bz2 # 解压生成 firefox 目录

2. rsync -rvu firefox /usr/lib/firefox-3.5/ # 使用 rsync 其实是为了更新 /usr/lib/firefox-3.5 中已有文件,不过参数没有正确,把以前没有的也更新进去了。其实这样还不如直接 cp

3. 同样的方式有 rsync 了 /usr/lib/firefox/plugins,还是不如直接 cp;mv /usr/bin/firefox /usr/bin/firefox.bak;cp firefox/firefox /usr/bin/firefox

4. bash 下运行 firefox,这时错误就出现了,找不到 lib 文件目录。解决也很简单:vi /usr/bin/firefox # 修改里面的 moz_libdir="更新后 firefox lib 文件目录",也就是 /usr/lib/firefox-3.5
其实就是因为 lib 的目录位置问题

5. 再次运行 firefox,崩溃掉。log details 显示与两项 adds on 有关;

6. bash 运行 firefox -safe-mode,禁用掉 adds-on,这回可以了。在安全模式下禁用有问题的 adds-on,重新启动 firefox,更新 adds-on。

是个有些麻烦的过程。:)

7/27/2010

海豚

Sent to you by tiansworld via Google Reader:

via 我爱张兮兮 by keyan6829 on 7/26/10

从上海回来看到了我们班孩子们转发给我的这封邮件。上学期我们观看了《海豚湾》,现在,他们当然不会对这件发生在小美人鱼、安徒生的故乡的事件保持沉默。虽然他们的声音很渺小,但是,能够张开眼睛去关注世界,是一件多么重要的事情。所有的保留中世纪的愚昧、落后的所谓传统都要向文明转变,更何况是屠杀。

请向全球传递这封信
and add your name to the bottom of the list before you send it on!
并把你的名字放在末尾并发送
Just sign and send on, this is serious.

请一定签名并发送,这事非同小可!
Denmark is a big shame.

丹麦是我们的耻辱
The sea is stained in red and

海洋被血染成红色
in the mean while
但是
it's not because of the climate effects of nature.
这不是由于自然气候导致的
It's because of the cruelty that the human beings (civilised human)
是因为残忍的人类(文明社会的人)
 kill hundreds of the famous and intelligent Calderon dolphins.
残忍的杀害了上百头人类已知并且具有高智商的卡德龙海豚
This happens every year in Feroe Iland in Denmark .
这种事情每年都发生在丹麦的斐罗岛
In this slaughter the main participants are young teens.
这场大屠杀的主要参与者是年轻人
WHY?
为什么会这样?
A celebration,  to show that they are adults and mature!

因为这是一场庆祝,一场显示他们已经长大了的成人礼
In this big celebration, nothing is missing for the fun.
这场声势浩大的庆祝活动被举办得完美无缺
Everyone is participating in one way or the other
每一个人都有自己这样那样的庆祝方式
killing or looking at the cruelty "supporting like a spectator"
亲自参与谋杀,或以极大的对杀戮热情和对生命的残忍作着一名看客
Is it necessary to mention that the dolphin calderon
我们有必要对卡德龙海豚有些了解
like all the other species of dolphins,
他们就像其他种类的海豚
it's near extinction and they get near men to play and interact
已经濒临灭绝,并且有着人类一样的反应能力和智商
In a way of PURE friendship
以一个"纯粹"的友情的方式
They don't die instantly

他们暂时不会立刻死去
they are cut 1, 2 or 3 times with thick hooks
他们重复地被粗粗的渔钩划伤皮肤
 And at that time the dolphins produce a grim cry like that of a new born child每当这个时候,我们能否听到他们像初生婴儿一样稚嫩而又无力的啼哭声?
But he suffers and there's no compassion
但他们只能默默忍受,没有一丝多余的怜悯
while this magnificent creature slowly dies in its own blood
当这神奇的生物慢慢在自己血液的包围中失去生命
Its enough!
我们看够了!
We will send this mail

我们会接力发送这封邮件
until this email arrives in any association defending the animals
直道他到达环保组织手中
we won't only read.
我们不会袖手旁观
That would make us accomplices, viewers
因为那样会使我们变成帮凶!看客!

随机文章:

就像一块石头 2010-04-08
箍牙下的力量 2009-03-20

收藏到:Del.icio.us

Things you can do from here:

7/15/2010

利用 Kickstart 和 BFO 自动安装 Fedora

前言


kickstart 是 Redhat 开发的一个系统自动安装方案。它可以用来自动安装 RHEL 以及 Fedora。采用 kickstart,用户只需建立一个配置文件,将安装过程中所需的操作(如分区方案、软件包信息、引导程序等等)写入文件,安装程序即可按照该文件进行自动安装。详情请见:kickstart wiki 页面 [1]

BFO 是随 Fedora 13 带来的一个新的安装方式,基于 BKO(http://boot.kernel.org),它通过网络运行安装程序并进行操作系统的安装。BFO 的镜像文件很小,本身不足 1MB,而且几乎无需更新。只需从 bfo.iso 引导,即可安装你想要的 fedora 版本。不过,前提是你要有网络连接。详情请参考:bfo [2]

准备工作


1. kickstart 文件,在你用常规方式安装完系统后会在 /root/ 目录下保留一份 anaconda-ks.cfg,如果想要按照你当前系统的设置来自动安装,不妨直接使用该文件。

注意:系统安装通常都是通过光盘或其它介质安装,安装源都位于本地。为了配合 bfo 安装,需要对生成的 kickstart 文件中的安装源做下修改。

此外,也可以使用 GUI 工具 system-config-kickstart 来生成。当然如果你熟悉 kickstart 文件格式的话,可以直接编辑一个。
1.1 下面我以我虚拟机上的一份 ks.cfg 为例,对 ks.cfg 做个简单介绍。

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --enabled --service=ssh #防火墙开启,ssh为信任服务。
# Install OS instead of upgrade
install #全新安装
# Use network installation
url --url="http://download.fedoraproject.org/pub/fedora/linux/releases/12/Fedora/i386/os/"
#如果使用本地安装后生成的 kickstart 文件,那么就要添加这个选项。
#该选项指定了网络安装时安装文件的位置。
#它的目录结构必须跟光盘中的结构完全相同。
# Root password
rootpw --iscrypted $1$jsonnTig$f7b4NFqCj2UBr.4bfrkH.0 #root用户密码,已经过加密处理
# System authorization information
auth --useshadow --passalgo=md5
# Use text mode install
text #如果不指定 text,那么默认会使用图形安装方式
# System keyboard
keyboard us # 这个是键盘布局,使用 us 键盘
# System language
lang en_US # 系统语言
# SELinux configuration
selinux --enforcing #selinux 选项
# Do not configure the X Window System
skipx
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai #系统默认时区
# System bootloader configuration
bootloader --location=mbr #引导程序安装位置
# Partition clearing information
clearpart --all --initlabel #分区选项,clearpart --all 即清空所有分区,--initlabel 表示初始化磁盘
%packages #软件包选项
@base #我的虚拟机配置太低,而且是通过网络安装,因此只选了最基本的包
%end


以上就是一份简单的 kickstart 文件内容,更多的选项可以参考 Fedora 文档 [3]中的 Fedora 安装指南,或者 Kickstart的wiki页面 [1]

2. bfo 镜像文件,这个文件可以直接到 bfo下载页面[4] 下载,我这里使用了光驱镜像文件,bfo.iso。如果你用实体机安装,建议还是用 USB 的镜像比较好,不到 1MB 的小东西,刻张盘太浪费了。
3. 网络连接
这个是必须的:)

安装


1. 首先从含有 bfo 镜像的设备启动,我这里的虚拟机就是用虚拟光盘引导了。引导界面如下图:

2. 通过 bfo 文件引导后,将进入如下的画面:

3. 选择第二项,Install Media,按回车键;
4. 接下来将看到类似如下图片的屏幕:

5. 这次安装的是 32位的 Fedora 12,选中后按 Tab 键,编辑引导选项。

在最后,我们加上 linux ks=http://my.example/ks.cfg,这指定了 kickstart 文件的位置。ks 文件的位置可以为本地,也可以为网络。这要根据具体情况办了。详细参数还是请看 kickstart 的wiki吧。
6. 添加 ks 文件位置后,按回车,自动安装就此开始了。如果 ks 文件配置正确,网络连接正常,过一会我们就可以使用我们的新系统了。

文中参考链接


[1] http://fedoraproject.org/wiki/Anaconda/Kickstart
[2] http://boot.fedoraproject.org/index
[3] http://docs.fedoraproject.org/
[4] http://boot.fedoraproject.org/download


5/13/2010

Google Reader 快捷键知多少? About Google Reader keyboard shortcut

Google Reader 快捷键知多少? About Google Reader keyboard shortcut: "

做为一个Google Reader Fan,它的快捷键你知道多少呢?以下是我在使用过程中学习到的一些快捷键。自认为比较实用。如果您是跟我一样的 Google Reader 阅读狂,那就记住这些键吧。或许您已经在用它们了。

  1. J/K N/P,下一项/前一项(使用最多);
  2. Shift+J/Shift+K Shift+N/Shift+P 在左边导航栏目间上下移动,选中栏目将以黄色高亮显示(刚发现);
  3. U 折叠/取消折叠导航栏;
  4. Space 前往下一项,到头后再按会跳至下一个订阅的未读项;
  5. PgUp/PgDn 向上/向下滚动;
  6. Shift+A 全部标记为已读 (我用的不多);
  7. T 编辑标签;
  8. S 加星号/取消星号;
  9. Shift+S 分享/取消分享;
  10. L like/unlike;
  11. E 发送到邮件;
  12. A 打开/关闭 添加订阅对话框;
  13. M 保持/取消 未读状态;
  14. H 回到用户主页面(Home);
  15. R 重新加载订阅项(刷新,可以实现更新的目的。如果跟我一样是个reader狂,那应该记住这个键);
  16. / 切换光标至Reader上方搜索栏;
  17. Backspace 在导航栏的当前项和上一次选定项间切换(我理解是这样的);
  18. Esc 取消 A 或 / 的操作。