Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.138.200.66] |
|
Сообщ.
#1
,
|
|
|
На выходных от алкоголя и прочих излишеств меня потянуло поковырять загрузочную тему.
Для начала я проверил теорию работы MBR от Майкрософта. В теории его(MBR) задача искать Активный раздел грузить его бутсектор(первый раздела) в место себя и запускать его Так и есть Я пробовал загружать MS DOS 6 и ntldr на разных разделах. DOS- fdisk /mbr xp- fixmbr 7- bootsect перепробовал каждый MBR. Всё работает меняя атрибут активности можно запустить раздел с DOS так и ntldr. Версия MBR роли не играет Потом я захотел поиграть с GRUB, засунуть его на флешку, причём на флешку РАЗМЕЧЕННОЙ виндой. Винда размечает(не форматирует) пустые флешки как СУПЕРДИСКЕТУ, один единственный раздел без MBR Я вычитал что второй GRUB может хранить свой stage 2 (core.img) между MBR и первым разделом так и файлом в файловой системе(blocklist) у меня получилось.... grub-install --force --root-directory=/media/user/NEW --modules="fat biosdisk part_msdos ext2" /dev/sdb Затем я хотел проверить как фиксируется позиционирование core.img в MBR надыбал такое..... filefrag -e /media/user/NEW/boot/grub/i386-pc/core.img Filesystem type is: 4d44 File size of /media/user/NEW/boot/grub/i386-pc/core.img is 27597 (54 blocks of 512 bytes) ext: logical_offset: physical_offset: length: expected: flags: 0: 1.. 2: 73489.. 73490: 2: 73490: merged .......... Но на деле filefrag дал не правильный результат на единицу больше.... на самом деле содержание груба dd if=/media/user/NEW/boot/grub/i386-pc/core.img bs=512 count=1 | hexdump -C 1+0 записей получено 1+0 записей отправлено 512 байт скопировано, 5,7155e-05 s, 9,0 MB/s 00000000 52 e8 28 01 74 08 56 be 33 81 e8 4c 01 5e bf f4 |R.(.t.V.3..L.^..| 00000010 81 66 8b 2d 83 7d 08 00 0f 84 e9 00 80 7c ff 00 |.f.-.}.......|..| ..... Адресс в MBR dd if=/dev/sdb of=/home/user/fatbootrecord.img bs=512 count=1 1+0 записей получено 1+0 записей отправлено 512 байт скопировано, 0,000395598 s, 1,3 MB/s root@ubuntuc:/home/user# hexdump -C /home/user/fatbootrecord.img ... 00000050 20 20 46 41 54 33 32 20 20 20 00 80 10 1f 01 00 | FAT32 ......| ... 10 1f 01 ~ 11F10h = 73 488 считываем c флешки по адресу взятого из MBR dd if=/dev/sdb bs=512 count=1 skip=73488 2>&- | hexdump -C 00000000 52 e8 28 01 74 08 56 be 33 81 e8 4c 01 5e bf f4 |R.(.t.V.3..L.^..| 00000010 81 66 8b 2d 83 7d 08 00 0f 84 e9 00 80 7c ff 00 |.f.-.}.......|..| ...... тоже что и при чтении файла core.img один в один а теперь по адресу(73489) из filefrag dd if=/dev/sdb bs=512 count=1 skip=73489 | hexdump -C 1+0 записей получено 1+0 записей отправлено 512 байт скопировано, 0,000174446 s, 2,9 MB/s 00000000 ea 1c 82 00 00 00 00 00 ad 5e 00 00 4c bf 00 00 |.........^..L...| 00000010 00 00 00 00 60 07 00 00 ff ff ff 00 fa 31 c0 8e |....`........1..| это не тот сектор, на единичку больше ВНИМАНИЕ ВОПРОС! что за данные говорит filefrag? и как правильно локализировать файлы на жёстком диске |