STAGE1能不能直接引导放在文件系统中的STAGE2.txt

附加:

最早的阶段可以径直地启动发稿零碎

运用挖土的困惑:可以径直地径直地在stage1 stage2发稿零碎?

blocklist (hd0,1)/boot/grub/stage2
挖土有数个要紧的发稿。,最早的阶段、、STAGE2

最早的阶段:它单独的512音节。,它通常放在MBR中。,它的效能罕局部复杂。,它是用来使承受压力stage2并把把持权完整屈从于压制它时,零碎启动。。

STAGE2:挖土的结心,所局部效能都是经过它使掉转船头的。。


中间身份最早的阶段和STAGE2暗中,这是他们的桥,因是大二,它通常放在发稿零碎中。,即使最早的阶段并不克不及区分发稿零碎体式,因而你必要领导stage2发稿零碎中。

遭受物物发稿零碎的体式,还必要相符合的发稿。,如:e2fs_stage1_5,fat_stage1_5,发稿零碎体式,拆移用于区分延期和FAT。

领导序列列举如下所示:最早的阶段->;->;STAGE2,鉴于最早的阶段不克不及区分发稿零碎体式,因而最早的阶段仅有的经过如: (HD0,0)读取1 22的体式。

例:使生效GRUB:
root (hd0,0)
setup (hd0)
竟,朝上举的次正必要朝上举的命令来朝上举的。

会议记载命令,拿 … 来说:
embed /boot/grub/e2fs_stage1_5 (hd0)
install /boot/grub/stage1 (hd0) (hd0)1+22 p (hd0,0)/boot/grub/stage2 /boot/grub/
从下面的命令可以看出,stage1写进了(hd0)的MBR中,研究22节(MBR(hd0)后将研究MBR 在使移近的机关,它会冲击整齐的的发稿零碎吗?,因容量小,单独的22个机关,砂砾层上的第每一发稿零碎具有最小的启动节和可,1首长,1机关开端。换句话说,MBR的头单独的1个节。,本着眼前的砂砾层普遍的,普通的首长有60个节。,相应地,这些机关可用于理性的。 ,但这不足以把stage2,因而你仅有的把stage2发稿到发稿零碎。,显示出这点,使生效
dd if=/boot/grub/stage1 of=/dev/hda bs=512 count=1 seek=1,
将stage1写进本来是的得瞬间名上。结出果实在零碎领导中,出如今掩藏上。,一向这样的事物,留意仿佛是对的。。

砂砾层是有区别的的。,开始软盘,我见过稍许地人说开始软盘的体式是:
dd if=/boot/grub/stage1 of=/dev/fd0
dd if=/boot/grub/stage2 of=/dev/fd0 seek=1
我试了即刻,缺乏四轮大马车,猜一下可以是径直地将最早的阶段写进/dev/fd0的开端节糟,必要摆列,
因而我又加了一步,它是在挖掘寻觅围绕中使生效的。
install /boot/grub/stage1 (fd0) (fd0)1+255,
这一步将改写fd0做出促使颠倒的的摆列,教最早的阶段读(fd0)1+255后头的的节举行领导,255是要写瞬间节数。从这时软盘开端,成。在这一点上不运用,因stage2径直地写进机关,缺少的发稿零碎中。这样的事物的领导软盘有每一缺陷。,它不克不及体式化成终究哪个发稿零碎。,这就动机不克不及将内核放入软盘中。。

后头,磁盘被体式化为ext2体式,朝上举的后,显示证据不克不及促使颠倒的地从FL领导。,stage2发稿放在软盘中不克不及决定在掌握。
不遭受物GRUB磁盘Ext2体式?请妙手见教。
与将软盘体式化为vfat体式,重复stage2到根清单,挖土围绕射中靶子使生效:install /boot/grub/stage1 (fd0) (fd0)/stage2,这可以被领导。,在在这一点上我们的将stage2发稿零碎中,但它缺乏被运用,为什么你还可以领导阶段? 难道最早的阶段遭受物vfat的发稿体式?

如今再回到砂砾层上。,将才我将stage1写进(hd,0)在1 1,那是我们的必然要去的定位球。,挖掘寻觅的陆续使翻筋斗在启动时呈现。,不整齐的的四轮大马车,嗣后用软盘,挖土围绕射中靶子使生效:install (hd0,0)/boot/grub/stage1 (hd0) (hd0,0)/boot/grub/stage2,在这一点上不运用,重新开始砂砾层,成。why? 为什么 最早的阶段可以读取ext2发稿零碎射中靶子发稿?

从一边至另一边是我在运用挖土时对决的稍许地成绩。,需要的东西能给你每一好的回答。。我需要的东西各位都能理解更多在流行中的挖土的知。。

运用挖土的困惑:可以径直地径直地在stage1 stage2发稿零碎?
顶上缺乏人,本人顶下。

空军士兵Shu Ke
最早的、MBR中单独的446音节可用来研究stage1
瞬间、dd if=/boot/grub/stage1 of=/dev/hda bs=512 count=1 seek=1
责备将stage1写进本来是的得瞬间名上,刚说过stage1贮在MBR上,在这一点上的得瞬间名是什么?,这有效地是为了销毁掌握MBR。,包孕分区表。掩藏上呈现GRUB是因stage1坏了,而责备

++++++++++++++++++++++++++++++++++++

=48851&do=blog&id=8422

启动行动方向的会议记载辨析
2009-07-30 13:19

急躁的血流量,想为本人写每一模块,相应地,对行动方向的开端举行了辨析。,整顿出现与每个分享。
Linux的启动基本上可以分为数个脚步。:
最早的一份遗产 GRUB的一一份遗产,内核使承受压力行动方向。
在这一点上是对别的动机的总结。,因我还缺乏主教权限挖土的源行为准则。
1. BIOS使生效int 0x19,加载MBR行为准则和悄悄溜走使生效,这时MBR(512b)在我们的和平时期的零碎。, 0度过最早的节定居磁盘的0侧。,次悄悄溜走到行为准则和使生效
2. stage1使生效行动方向中会使承受压力磁盘0面0道瞬间节的512B的长度次至0x8000处,这是瞬间在GRUB的源行为准则,在这一点上是stage1_5也许stage2的总插入物,它才是stage1_5或许stage2的真正使承受压力器。
3. 在stage1_5使承受压力领先,二是不可以被使承受压力,因stage1并不克不及区分发稿零碎
stage1_5终究被放在哪呢?很多兄可以认为它执意/boot/grub/转移的的孰xxfs_stage1_5发稿,即使想想看,找到启动
分区职位的stage1_5发稿,这么就必需品使得stage1具有发稿零碎区分效能,而stage1_5自身执意发稿零碎的遭受行为准则,它必需品被装载。
stage1_5才干具有这种效能。这么,我们的又回到了那种发生矛盾体的反论──要使承受压力stage1_5来找到stage1_5? 呵呵。
因而用来区分boot分区发稿零碎的stage1_5不克不及作为发稿来被stage1读取,
它仅有的贮在常客的节中。。它图下阐明文字区分领导分区发稿零碎。,那是因并责备所局部stage1_5发稿都被放在常客节的,单独的启动点
区的发稿零碎对应的stage1_5才会被放在常客的节中去!拿 … 来说,你的领导分区的发稿零碎Ext2,这么在朝上举的GRUB的stage1的时
候,e2fs_stage1_5就会被寄存至每一常客的节集,而静止的如reiserfs_stage1_5就依然作为发稿来寄存,几乎挖土的运用
root()命令来区分静止启动分区(事先),二已使承受压力,因而这责备成绩。
鞋楦走到尾声,第每一节,定居0条轨道的0面,瞬间机关,定居0方0轨道。,而与boot分区相关性的发稿零碎的xxfs_stage1_5被放在0面0道第3节开端的节里,其殖民的节全部含义与该stage1_5发稿的按大小摆列参与。而等等的人或物的stage1_5和stage2都作为发稿被寄在boot分区里。
是源自每一网友。,即使,看一眼前面的版本,仿佛就不在同一的的stage1_5了??这是个怀疑。
4. 讲期满stage1和stage1_5的使生效程序和得瞬间名相干后,这是瞬间转,约110kb在流行中的迷你 OS了。stage2发稿插入物级,在开发C运转围绕以后,第每一C功能将被必要。 init_bios_info(stage2/),这时功能是在稍许地第一层设定初值上使生效的。
改革后的,主要效能的中国的增剂作用会(二)stage2发稿将崇高的,因而这一阶段 mini 操作零碎正式开端运转!
靶壳2例,cmain将:
: run_menu()()->run_script()()->find_command->使生效命令功能
shell: enter_cmdline()()->find_command->使生效命令功能
异曲同工,鞋楦,解决到命令行的解说。
find_command(stage2/)依中或许shell用户输出的命令字母串,在大局排中
builtin *builtin_table[](stage2/)变量中去找到内置命令的功能,与使生效。
值得一提的是,类shell命令结尾了。
必要促使的是:二如今必然要进入庇护以图案装饰,将操作零碎内核使承受压力到内存中,与回到庇护以图案装饰,对内核举行把持。
瞬间一份遗产 linux内核的启动
1. 内核将从一开端使生效。,它为什么从在这一点上跑?,在后头的一直挺到完毕grub源码后会会议记载解说

+++++++++++++++++++++++++++++++++++++++++++++++++

挖土是每一罕局部风趣的软件。,缀编行为准则加C,不能征服的了。

率先检查砂砾层的通知。。
bash-3.2# /sbin/fdisk -l

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x83009278

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        1255    10080756   83  Linux
/dev/sda2   *        1275        7951    53627904    6  FAT16
/dev/sda3            7951       14594    53357568    7  HPFS/NTFS
/dev/sda4            1256        1274      152617+   5  Extended
/dev/sda5            1256        1274      152586   82  Linux swap / Solaris
这是每一120GB的砂砾层,总恳谈四元组分区,三主分区,每一形成分区,形成分区中单独的每一逻辑分区作为交替PA。。两个操作零碎朝上举的在两个主分区的砂砾层,费多拉 Core 8(第每一分区)和窗口 Vista(瞬间个分区)。接下来,看一眼稍许地特别机关的标明。。
#dd if=/dev/sda of=/home/ecy/ count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 秒,2.1 MB/秒
翻开,满意的列举如下:

[电子邮件庇护] ~]# hexdump -c  /home/ecy/

0000000: eb48 90d0 bc00 7c8e c08e d8be 007c bf00  .H….|……|..
0000010: 06b9 0002 fcf3 a450 681c 06cb fbb9 0400  …….Ph…….
0000020: bdbe 0780 7e00 007c 0b0f 8510 0183 c510  ….~..|……..
0000030: e2f1 cd18 8856 0055 c646 1105 c646 0302  …..V.U.F…F..
0000040: 8000 0080 3f80 2701 0008 fa90 90f6 c280  ….?.‘………
0000050: 7502 b280 ea59 7c00 0031 c08e d88e d0bc  u….Y|..1……
0000060: 0020 fba0 407c 3cff 7402 88c2 52be 7f7d  . [电子邮件庇护]<.t...R..}
0000070: e834 01f6 c280 7454 b441 bbaa 55cd 135a  .4….tT.A..U..Z
0000080: 5272 4981 fb55 aa75 43a0 417c 84c0 7505  RrI..U.uC.A|..u.
0000090: 83e1 0174 3766 8b4c 10be 057c c644 ff01  …t7f.L…|.D..
00000a0: 668b 1e44 7cc7 0410 00c7 4402 0100 6689  f..D|…..D…f.
00000b0: 5c08 c744 0600 7066 31c0 8944 0466 8944  \..D..pf1…D
00000c0: 0cb4 42cd 1372 05bb 0070 eb7d b408 cd13  ..B..r…p.}….
00000d0: 730a f6c2 800f 84ea 00e9 8d00 be05 7cc6  s………….|.
00000e0: 44ff 0066 31c0 88f0 4066 8944 0431 d288  [电子邮件庇护]
00000f0: cac1 e202 88e8 88f4 4089 4408 31c0 88d0  [电子邮件庇护]
0000100: c0e8 0266 8904 66a1 447c 6631 d266 f734  …f..|f1.f.4
0000110: 8854 0a66 31d2 66f7 7404 8854 0b89 440c  .T.f1.f.t..T..D.
0000120: 3b44 087d 3c8a 540d c0e2 068a 4c0a fec1  ;D.}<.T.....L...
0000130: 08d1 8a6c 0c5a 8a74 0bbb 0070 8ec3 31db  …l.Z.t…p..1.
0000140: b801 02cd 1372 2a8c c38e 0648 7c60 1eb9  …..r*….H|`..
0000150: 0001 8edb 31f6 31ff fcf3 a51f 61ff 2642  ………a.&B
0000160: 7cbe 857d e840 00eb 0ebe 8a7d e838 00eb  |..}[电子邮件庇护]}.8..
0000170: 06be 947d e830 00be 997d e82a 00eb fe47  …}.0…}.*…G
0000180: 5255 4220 0047 656f 6d00 4861 7264 2044  RUB .Geom.Hard D
0000190: 6973 6b00 5265 6164 0020 4572 726f 7200  isk.Read. 颠倒的。
00001a0: bb01 00b4 0ecd 10ac 3c00 75f4 c300 0000  ……..<.u.....
00001b0: 0000 0000 0000 0000 7892 0083 0000 0001  ……..x…….
00001c0: 0100 83fe ffff 3f00 0000 e8a3 3301 80fe  ……?…..3…
00001d0: ffff 06fe ffff 0050 3801 0098 6406 00fe  …….P8…d…
00001e0: ffff 07fe ffff 00e8 9c07 0058 5c06 00fe  ………..X\…
00001f0: ffff 05fe ffff 27a4 3301 53a8 0400 55aa  ……‘..
合计32行,每行16音节,32X16=512个音节,这是为了在MBR中保持不变标明。,Grub的stage1便是放在在这一点上的,鞋楦66个音节是砂砾层分区表和分区表。,分区表中克制的四元组记载是:
0000 0100 83fe ffff 3f00 0000 e8a3 3301
80fe ffff 06fe ffff 0050 3801 0098 6406
00fe ffff 07fe ffff 00e8 9c07 0058 5c06
00fe ffff 05fe ffff 27a4 3301 53a8 0400
让我们的辨析一下最早的张大浅盘。,按逻辑相干摆列数字。
00  00  0100  83  fe  ffff  3f000000 e8a33301
1    2   3       4   5   6   7         8
1:分区身份,0x80使某事物或某人敏感分区,0x00是残废者的分区
2:分区使开始首长数
3:分区启动节和气缸号
4:分区典型,0x83是Linux发稿零碎,0x0b是FAT32发稿零碎,0x07是NTFS发稿零碎,这是0x06,FAT16发稿零碎,呵呵,这少量地冷淡地。,它是NTFS体式。。
5:分区端首长,刚要份额砂砾层,我不察觉怎么会有深深地的首长。,这是摆脱不了的思想我相当长的时间的成绩。。
6:分区端部和气缸号
7:通过单独的若干阶段来发展演讲以图案装饰下的绝对节地址脔割
8:分区按大小摆列。关怀x86 CPU短时间运用 endian,因而次是转移的,这是0133a3e8,替换为阿拉伯数字系统是20161512。,这是这时分区中逻辑节的总额。,每个节的按大小摆列是512bytes,因而分区按大小摆列是。
#dd if=/dev/sda of=/home/ecy/s2.bin skip=1 count=1 bs=512

[电子邮件庇护] ~]# hexdump -c  /home/ecy/s2.bin

0000000: 5256 be03 21e8 2a01 5ebf f821 668b 2d83  RV..!.*.^..!f.-.
0000010: 7d04 000f 84ca 0080 7cff 0074 3e66 8b1d  }…….|..t>f..
0000020: 6631 c0b0 7f39 4504 7f03 8b45 0429 4504  f1…9E….E.)E.
0000030: 6601 05c7 0410 0089 4402 6689 5c08 c744  f……..\..D
0000040: 0600 7050 6631 c089 4404 6689 440c b442  ..pPf1…D..B
0000050: cd13 0f82 9f00 bb00 70eb 5666 8b05 6631  ……..p.Vf..f1
0000060: d266 f734 8854 0a66 31d2 66f7 7404 8854  .f.4.T.f1.f.t..T
0000070: 0b89 440c 3b44 087d 748b 042a 440a 3945  ..D.;D.}t..*D.9E
0000080: 047f 038b 4504 2945 0466 0105 8a54 0dc0  ….E.)E.f…T..
0000090: e206 8a4c 0afe c108 d18a 6c0c 5a52 8a74  …L……l.ZR.t
00000a0: 0b50 bb00 708e c331 dbb4 02cd 1372 468c  .P..p..1…..rF.
00000b0: c38e 4506 58c1 e005 0145 0660 1ec1 e004  …`….
00000c0: 89c1 31ff 31f6 8edb fcf3 a41f be14 21e8  ………..!.
00000d0: 6000 6183 7d04 000f 853c ff83 ef08 e92e  `.a.}….<......
00000e0: ffbe 1621 e84b 005a ea00 2200 00be 1921  …!…”….!
00000f0: e83f 00eb 06be 1e21 e837 00be 2321 e831  .?…..!.7..#!.1
0000100: 00eb fe4c 6f61 6469 6e67 2073 7461 6765  …Loading stage
0000110: 312e 3500 2e00 0d0a 0047 656f 6d00 5265  1.5……Geom.Re
0000120: 6164 0020 4572 726f 7200 bb01 00b4 0ecd  ad. 颠倒的。……
0000130: 1046 8a04 3c00 75f2 c300 0000 0000 0000  .F..<.u.........
0000140: 0000 0000 0000 0000 0000 0000 0000 0000  …………….
0000150: 0000 0000 0000 0000 0000 0000 0000 0000  …………….
0000160: 0000 0000 0000 0000 0000 0000 0000 0000  …………….
0000170: 0000 0000 0000 0000 0000 0000 0000 0000  …………….
0000180: 0000 0000 0000 0000 0000 0000 0000 0000  …………….
0000190: 0000 0000 0000 0000 0000 0000 0000 0000  …………….
00001a0: 0000 0000 0000 0000 0000 0000 0000 0000  …………….
00001b0: 0000 0000 0000 0000 0000 0000 0000 0000  …………….
00001c0: 0000 0000 0000 0000 0000 0000 0000 0000  …………….
00001d0: 0000 0000 0000 0000 0000 0000 0000 0000  …………….
00001e0: 0000 0000 0000 0000 0000 0000 0000 0000  …………….
00001f0: 0000 0000 0000 0000 0200 0000 1300 2002  ……………
免得将grub清单下的掌握stage1_5发稿都删去掉,零碎可以整齐的启动。,这阐明stage1_5的得瞬间名放在0磁道中
普通的stage1_5按大小摆列单独的10K摆布,殖民20个机关,它完整可以放在0轨道上。。二是区分的,它的按大小摆列超越100 K。,这时阻塞不克不及进入0机关。,因而删去stage2,零碎通常不启动。。因我的朝上举的零碎,主分区是ext3发稿零碎,因而下每一行为准则必然要是 e2fs_stage1_5的。

#dd if=/dev/sda of=/home/ecy/s2.bin skip=2 count=1 bs=512

[电子邮件庇护] ~]# hexdump -c  /home/ecy/s2.bin

0000000: ea70 2200 0000 0302 ffff ff00 0000 0000  .p”………….
0000010: 0200 302e 3937 00ff ff00 ff2f 626f 6f74  ……./boot
0000020: 2f67 7275 622f 7374 6167 6532 202f 626f  /grub/stage2 /bo
0000030: 6f74 2f67 7275 622f 6772 7562 2e63 6f6e  ot/grub/grub.con
0000040: 6600 0000 0000 0000 0000 0000 0000 0000  f……………
0000050: 0000 0000 0000 0000 0000 0000 0000 0000  …………….
0000060: 0000 0000 0000 0000 0000 0000 0000 0000  …………….
0000070: fa31 c08e d88e d08e c067 6689 2dfc 2400  .1……..$.
0000080: 0066 bdf0 1f00 0066 89ec fb67 8815 f824  .f…..f…g…$
0000090: 0000 cd13 66e8 6100 0000 bfa0 3f00 00b9  ….f.a…..?…
00000a0: 7c40 0000 29f9 30c0 fcf3 aae8 9802 0000  |@..).0………
00000b0: e88c 0000 00f4 e9fa ffff ff8b 4424 08a3  …………D$..
00000c0: 0025 0000 89c3 668b 4424 0466 a304 2500  .%….$.f..%.
00000d0: 00c1 e004 01c3 a178 4000 0089 8308 0000  [电子邮件庇护]
00000e0: 008a 1590 3f00 008b 4c24 0ce8 5100 0000  ….?…L$..Q…
00000f0: 6689 cd67 66ff 2d00 2500 00fa 6766 0f01  f…%…gf..
0000100: 1540 2500 000f 20c0 6683 c801 0f22 c066  [电子邮件庇护]%… .f….”.f
0000110: ea17 2300 0008 0066 b810 008e d88e c08e  ..#….f……..
0000120: e08e e88e d08b 0424 a3f0 1f00 00a1 f424  …….$…….$
0000130: 0000 89c4 89c5 a1f0 1f00 0089 0424 31c0  ………….$1.
0000140: c30f 0115 4025 0000 89e0 a3f4 2400 008b  [电子邮件庇护]%……$…
0000150: 0424 a3f0 1f00 00b8 f01f 0000 89c4 89c5  .$…………..
0000160: 66b8 2000 8ed8 8ec0 8ee0 8ee8 8ed0 ea75  f. …………u
0000170: 2300 0018 000f 20c0 6683 e0fe 0f22 c066  #….. .f….”.f
0000180: ea87 2300 0000 0066 31c0 8ed8 8ec0 8ee0  F1。
0000190: 8ee8 8ed0 fb66 c355 89e5 5653 8b45 1066  …..f.U..VS.E.f
00001a0: 89c6 6631 c0c1 e804 6689 c18a 550c 668b  ..f1….f….
00001b0: 5d08 e88a ffff ff89 d88e d9cd 1388 e231  ]…………..1
00001c0: c08e d866 e832 ffff ff88 d05b 5e5d c355  ……..[^].U
00001d0: 89e5 5357 568b 4510 88c5 8a45 18c0 e002  ..SWV.E….E….
00001e0: 66c1 e802 88c1 8a75 148a 550c 668b 5d20  f……u…]
00001f0: 8a65 088a 451c 6689 c7e8 43ff ffff 8ec3  .e…….

[电子邮件庇护] GRUB ] ls -l | grep e2fs*
-rw-r–r– 1 root root  11768 06-03 23:57 e2fs_stage1_5

(11768+512)/ 512 =

可以预测,25机关是每一空机关。。运用DD命令(墓穴= 24)重复该节的满意的,运用vi的二元系以图案装饰翻开,可以主教权限掌握0个。这时真相少量地出乎我的过早地提出。,竟stage1_5完毕在第21(skip=20)个节,看一眼这时机关的满意的。,找到一串字母串,“GRUB loading, please wait…..”,这是我们的可以在指示盘上主教权限的促使。。机关的前面都是0个。。

[电子邮件庇护] ~]# hexdump -c

00000a0: 6572 6673 000a 0a47 5255 4220 6c6f 6164  erfs…GRUB load
00000b0: 696e 672c 2070 6c65 6173 6520 7761 6974  ing, please wait
00000c0: 2e2e 2e0a 0069 6e74 6572 6e61 6c20 6572  …..internal er
00000d0: 726f 723a 2074 6865 2073 6563 6f6e 6420  ror: the second
00000e0: 7365 6374 6f72 206f 6620 5374 6167 6520  sector of Stage
00000f0: 3220 6973 2075 6e6b 6e6f 776e 2e00 5265  2 is unknown..Re

哪里是stage2得救?

在因特网上查找通知,主教权限这样的事物的单词:

挖掘寻觅的靴子是这样的事物的:

普通来说它由stage1 stage2 结合

stage1在mbr中,瞬间阶段在于发稿零碎

免得stage2是由每一陆续的块射中靶子发稿零碎,这么stage1将经过blocklist径直地load  二(不经过发稿零碎),旁,经过使承受压力(MBR后贮在磁盘节),经过使承受压力stage2发稿零碎。

本文论述了,stage2使承受压力的方法有两种,一是应用加载相关性的驱动次,从发稿零碎读取stage 2;旁一种是stage1经过blocklist径直地使承受压力stage2。

[电子邮件庇护] GRUB ] ls -li stage2
1695760 -rw-r–r– 1 root root 110532 06-05 23:09 stage2

[电子邮件庇护] GRUB ] /sbin/debugfs /dev/sda1
debugfs 1.40.8 (13-Mar-2008)
debugfs:  stat <1695760>
Inode: 1695760   Type: regular    Mode:  0644   Flags: 0x0   Generation: 2545743768
User:     0   Group:     0   Size: 110532
File ACL: 0    Directory ACL: 0
Links: 1   Blockcount: 224
Fragment:  Address: 0    Number: 0    Size: 0
ctime: 0x484801c7 — Thu Jun  5 23:09:59 2008
atime: 0x484946c6 — Fri Jun  6 22:16:38 2008
mtime: 0x484801c7 — Thu Jun  5 23:09:59 2008
Size of extra inode fields: 4
Extended attributes stored in inode body:
selinux = “system_u:object_r:boot_t:s0\000” (28)
BLOCKS:
(0-11):6791168-6791179, (IND):6791180, (12-26):6791181-6791195
TOTAL: 28

它从是你这么说的嘛!材料可以看出,二是定位球在第六百七十九万公斤一百六十八,我的ext3发稿零碎块是4096b默许按大小摆列,因而迅速地组有32768个块,,这6791168排到瞬间百零第七阻塞,它是这样的事物辽

1. 免得运用stage1_5 ->stage 2 的方法, 率先监督它如果是漂亮的FS的驱动次。,免得你在FS逻辑的方法寻觅stage2 , 免得你不克不及找到它,在把列入黑名单的方法寻觅它,显示证据它挂断了,未检出的颠倒的。
2. 免得是证实缺乏stage1_5, stage1 去尝试运用记载stage2显示证据阶段的把列入黑名单,类似于显示证据它挂断了,未检出的颠倒的。
3. 运用FS逻辑,运用被删去或改名使生效效益!

不要删去stage2试验,嗯,在删去stage2即刻重新开始,从逻辑上讲,零碎必然要可以启动。,鉴于stage2的块是不包孕在这时时候,stage1经过blocklist=依然能找到这时stage2,免得这份额被另每一发稿赘生物,相应地零碎将不再启动。。

看来,默许是使承受压力stage2用它,因而,如今你可以运用把列入黑名单,那你为什么要用它呢?有每一特定之物必要留意。,挖土是零碎的鞋楦一次朝上举的。,或许本着MBR,或许将其朝上举的到分区中,在这时时候,stage2发稿块的得瞬间名先前决定。

 grub> blocklist (hd0,0)/boot/grub/stage2
blocklist (hd0,0)/boot/grub/stage2
(hd0,0)54329344+154329346+154329348+154329350+154329352+154329354+154329356+154329358+15

4329360+154329362+154329364+154329366+154329368+154329370+154329372+1543……

乍看之下,stage2发稿启动块全部含义不为所运用的属性完全同样的,其实不然,在这一点上的块号是硬节的每份额号。,份额的按大小摆列512b,下面的块号是发稿零碎的块号。,它的按大小摆列是4KB,因而这种替换相干:
6791168 X 8 = 54329344 OK, Very Good~
(4K / 512B = 8)
我要辨析一下stage1的排。

发表评论

电子邮件地址不会被公开。 必填项已用*标注