Updates from 十一月, 2008 Toggle Comment Threads | 键盘快捷键

  • bixuan 22:41 on 2008 年 11 月 25 日 链接地址 | 回复
    Tags: 收获   

    收获不少,具体不想聊!

     
  • bixuan 08:46 on 2008 年 11 月 12 日 链接地址 | 回复
    Tags: acpi, , event   

    acpid 

    ACPI 电源管理工具

    现代计算机支持高级配置与电源管理接口 (ACPI), 系统可以通过这个接口进行智能的电源管理、查询电池状态和配置信息。

    ACPID 是一个非常灵活、完全可扩展的 ACPI 事件递送守护程序。它监听一个文件 (/proc/acpi/event), 一旦有事件发生,就会运行相应的事件处理程序。对于每个事件, 其处理程序都可以通过软件包或管理员指定的一组配置文件定制。

    看了那么多,估计都傻了,到底能干嘛用啊?

    简单的例子:

    启动:/etc/init.d/acpid start后,那么直接按电源,apcid进程自己会捕获关机命令,所以不用担心直接关电源会带来文件系统损坏。

     
  • bixuan 08:59 on 2008 年 11 月 10 日 链接地址 | 回复
    Tags: 儒家   

    儒家 

    约·恕·俭·敬

     
  • bixuan 15:55 on 2008 年 11 月 07 日 链接地址 | 回复
    Tags: bootloader, Magic Number, MBR, partition table   

    MBR 

    主引导扇区(Master Boot Record, MBR),下面是MBR的示意图
    MBR示意图

    如图,这是MBR的示意图。其中的partition table是硬盘分区表
    一共有4个分区,16Byte描述一个分区,即四个主分区。
    如果需要5个以上的分区,只能把一个主分区改为扩展分区形式存在(其实所谓的扩展分区也是一个主分区)。

    我的MBR内容如下:

    # dd if=/dev/sda of=/root/MBR.txt bs=512 count=1 #此方法可以获取mbr的内容。
    1+0 records in
    1+0 records out
    512 bytes (512 B) copied, 0.012308 seconds, 41.6 kB/s

    # hexdump -C /root/MBR.bak
    00000000  eb 48 90 01 fa 33 c0 8e  d0 8e c0 8e d8 bc 00 7c  |.H…3………||
    00000010  8b f4 fb bf 00 06 b9 00  01 f3 a5 bb 20 06 ff e3  |………… …|
    00000020  90 90 be 7d 07 81 3c aa  55 75 11 e8 58 00 73 0c  |…}..<.Uu..X.s.|
    00000030  e8 65 00 72 07 e8 b1 00  72 3b eb 2c be 7d 03 02  |.e.r….r;.,.}..|
    00000040  80 00 00 80 41 a8 01 00  00 08 fa 90 90 f6 c2 80  |….A………..|
    00000050  75 02 b2 80 ea 59 7c 00  00 31 c0 8e d8 8e d0 bc  |u….Y|..1……|
    00000060  00 20 fb a0 40 7c 3c ff  74 02 88 c2 52 be 7f 7d  |. ..@|<.t…R..}|
    00000070  e8 34 01 f6 c2 80 74 54  b4 41 bb aa 55 cd 13 5a  |.4….tT.A..U..Z|
    00000080  52 72 49 81 fb 55 aa 75  43 a0 41 7c 84 c0 75 05  |RrI..U.uC.A|..u.|
    00000090  83 e1 01 74 37 66 8b 4c  10 be 05 7c c6 44 ff 01  |…t7f.L…|.D..|
    000000a0  66 8b 1e 44 7c c7 04 10  00 c7 44 02 01 00 66 89  |f..D|…..D…f.|
    000000b0  5c 08 c7 44 06 00 70 66  31 c0 89 44 04 66 89 44  |\..D..pf1..D.f.D|
    000000c0  0c b4 42 cd 13 72 05 bb  00 70 eb 7d b4 08 cd 13  |..B..r…p.}….|
    000000d0  73 0a f6 c2 80 0f 84 ea  00 e9 8d 00 be 05 7c c6  |s………….|.|
    000000e0  44 ff 00 66 31 c0 88 f0  40 66 89 44 04 31 d2 88  |D..f1…@f.D.1..|
    000000f0  ca c1 e2 02 88 e8 88 f4  40 89 44 08 31 c0 88 d0  |……..@.D.1…|
    00000100  c0 e8 02 66 89 04 66 a1  44 7c 66 31 d2 66 f7 34  |…f..f.D|f1.f.4|
    00000110  88 54 0a 66 31 d2 66 f7  74 04 88 54 0b 89 44 0c  |.T.f1.f.t..T..D.|
    00000120  3b 44 08 7d 3c 8a 54 0d  c0 e2 06 8a 4c 0a fe c1  |;D.}<.T…..L…|
    00000130  08 d1 8a 6c 0c 5a 8a 74  0b bb 00 70 8e c3 31 db  |…l.Z.t…p..1.|
    00000140  b8 01 02 cd 13 72 2a 8c  c3 8e 06 48 7c 60 1e b9  |…..r*….H|`..|
    00000150  00 01 8e db 31 f6 31 ff  fc f3 a5 1f 61 ff 26 42  |….1.1…..a.&B|
    00000160  7c be 85 7d e8 40 00 eb  0e be 8a 7d e8 38 00 eb  ||..}.@…..}.8..|
    00000170  06 be 94 7d e8 30 00 be  99 7d e8 2a 00 eb fe 47  |…}.0…}.*…G|
    00000180  52 55 42 20 00 47 65 6f  6d 00 48 61 72 64 20 44  |RUB .Geom.Hard D|
    00000190  69 73 6b 00 52 65 61 64  00 20 45 72 72 6f 72 00  |isk.Read. Error.|
    000001a0  bb 01 00 b4 0e cd 10 ac  3c 00 75 f4 c3 00 00 00  |……..<.u…..|
    000001b0  00 00 00 00 00 00 00 00  18 48 0e 00 00 00 80 01  |………H……|
    000001c0  01 00 83 fe 3f 0c 3f 00  00 00 8e 2f 03 00 00 00  |….?.?…./….|
    000001d0  01 0d 83 fe ff ff cd 2f  03 00 d9 e5 3f 01 00 fe  |……./….?…|
    000001e0  ff ff 82 fe ff ff a6 15  43 01 c5 fa 3f 00 00 fe  |……..C…?…|
    000001f0  ff ff 05 fe ff ff 6b 10  83 01 13 18 cd 07 55 aa |……k…….U.|
    00000200

    其中aa55是固定的字符,就是Magic Number,占用2byte,目的是让存在于bootloader区的管理程序在辨认扇区时,可以确认所存储的这个地方就是MBR,就点像MBR的身份证。

    这里特别注意的是,平时用的fdisk /mbr命令,并不是将所有的MBR区块都格式化,这这里只是格式最前面的bootloader区的446byte区域。所以,如果partition table有问题的话,使用这个命令是没有任何帮助的。

    这里简单总结一下:

    • 一块硬盘只有4个主分区,每个主分区大小为16byte
    • MBR是由bootloader(446byter)+partition table(64byte)+Magic Number(2字节)=512字节组成。
    • 如果partition table丢失,那么硬盘上所有的数据都将不可恢复。
     
    • iakuf 09:22 on 2009 年 10 月 10 日 链接地址

      如果partition table丢失,那么硬盘上所有的数据都将不可恢复。

      根据测试,是可以恢复的…前几天用dd的命令重写了自己笔记本的前512字节.后来还是恢复了…

c
写新的
j
下一篇文章/下一个回复
k
前一篇文章/以前的回复
r
回复
e
编辑
o
显示/隐藏 回复
t
回到顶部
l
go to login
h
show/hide help
esc
取消