Неразбериха с разделами (+ не грузиццо Mandriva)
grub-install /dev/hdc8
После чего скопировал загрузочный сектор hdc8 (обозвал его hdc8.mbr скопировал его на C: и в boot.ini добавил сроку:
C:\hdc8.mbr="Linux"
Однако при попытке загрузить его пишется "GRUB" и все...
Запости плиз еще что пишут команды 'p', 'e' и 'v' в режиме эксперта 'x'. Типа такого:[localhost alex]# /sbin/fdisk -l /dev/hdc
Disk /dev/hdc: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hdc1 * 14 2354 18804051 7 HPFS/NTFS
/dev/hdc2 2355 30332 224733285 f Win95 Ext'd (LBA)
/dev/hdc3 25634 26908 10241437+ 83 Linux
/dev/hdc4 26909 26941 265072+ 82 Linux swap
/dev/hdc5 2355 16707 115290441 7 HPFS/NTFS
/dev/hdc6 16708 16709 16033+ 11 Hidden FAT12
/dev/hdc7 16710 25633 71681998+ 7 HPFS/NTFS
/dev/hdc8 26942 28217 10249438+ 83 Linux
/dev/hdc9 28218 28280 506016 82 Linux swap
/dev/hdc10 28281 30332 16482658+ 83 Linux
dsme alex # fdisk -u /dev/hda
The number of cylinders for this disk is set to 35103.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/hda: 60.0 GB, 60011642880 bytes
53 heads, 63 sectors/track, 35103 cylinders, total 117210240 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 63 42739199 21369568+ 7 HPFS/NTFS
/dev/hda2 * 42739200 64108799 10684800 83 Linux
/dev/hda3 64108800 85478399 10684800 7 HPFS/NTFS
/dev/hda4 85478400 117208916 15865258+ f W95 Ext'd (LBA)
/dev/hda5 117158895 117208916 25011 83 Linux
/dev/hda6 85478463 113686271 14103904+ b W95 FAT32
/dev/hda7 113686335 117105407 1709536+ 6 FAT16
/dev/hda8 113686847 117094726 1703940 83 Linux
/dev/hda9 117105471 117158831 26680+ 4 FAT16 <32M
Partition table entries are not in disk order
Command (m for help): x
Expert command (m for help): p
Disk /dev/hda: 53 heads, 63 sectors, 35103 cylinders
Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID
1 00 1 1 0 52 63 1023 63 42739137 07
2 80 0 1 1023 52 63 1023 42739200 21369600 83
3 00 0 1 1023 52 63 1023 64108800 21369600 07
4 00 0 1 1023 52 63 1023 85478400 31730517 0f
5 00 0 0 0 0 0 0 31680495 50022 83
6 00 0 0 0 0 0 0 62 28207809 0b
7 00 0 0 0 0 0 0 63 3419073 06
8 00 0 0 0 0 0 0 574 3407880 83
9 00 0 0 0 0 0 0 63 53361 04
Expert command (m for help): e
Disk /dev/hda: 53 heads, 63 sectors, 35103 cylinders
Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID
4 00 0 1 1023 52 63 1023 85478400 31730517 0f
5 00 0 0 0 0 0 0 1 1 05
6 00 0 0 0 0 0 0 28207872 1 05
7 00 0 0 0 0 0 0 28207873 1 05
8 00 0 0 0 0 0 0 31627008 1 05
9 00 0 0 0 0 0 0 0 0 00
Expert command (m for help): v
Partition 5: sector 0 greater than maximum 63
Partition 6: sector 0 greater than maximum 63
Partition 7: sector 0 greater than maximum 63
Partition 8: sector 0 greater than maximum 63
Warning: partition 7 overlaps partition 8.
Partition 9: sector 0 greater than maximum 63
1631 unallocated sectors
Судя по всему у тебя второй primary-раздел — extended и начинается он сразу после первого до самого конца диска. А вот 3-й и 4-й primary при этом физически уместились между hdc7 и hdc8. Вот поэтому Виндовый менеджер и плющит(это я про первый кружочек, он считает, что там дырка есть). Откуда второй кружок мне пока не ясно.
Могу предложить попробовать сделать в fdisk'е в режиме expert команду 'f' (fix partition order). Но сперва сохрани где-нибудь на дискетке лог вывода fdisk'а выше, который я рекомендовал. И еще желательно все сектора с номерами из колонок start вывода команды 'p' (в обычном режиме) и команды 'e' (в эксперте. Только там надо складывать номера с первым номером, то есть у меня это 85478400+1, 85478400+28207872 и т.д.)
Сохранять сектора советую в отдельный католог примерно так:
dd bs=512 count=1 if=/dev/hdc of=num skip=num
Где num - номер сектора. Также есть смысл сохранить mbr — нулевой сектор
Восстановить все сразу потом можно будет всего одной командой (находясь в папке с этими файлами)
![](/images/graemlins/wink.gif)
for n in *; do dd bs=512 count=1 if=${n} of=/dev/hdc seek=${n}; done
По поводу grub-а надо ман читать, и фтыкать в чем загвоздка
![](/images/graemlins/laugh.gif)
[localhost alex]# /sbin/fdisk -u /dev/hdc
The number of cylinders for this disk is set to 30401.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/hdc: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/hdc1 * 208908 37817009 18804051 7 HPFS/NTFS
/dev/hdc2 37817010 487283579 224733285 f Win95 Ext'd (LBA)
/dev/hdc3 411794145 432277019 10241437+ 83 Linux
/dev/hdc4 432277020 432807164 265072+ 82 Linux swap
/dev/hdc5 37817073 268397954 115290441 7 HPFS/NTFS
/dev/hdc6 268398018 268430084 16033+ 14 Hidden FAT16 <32M
/dev/hdc7 268430148 411794144 71681998+ 7 HPFS/NTFS
/dev/hdc8 432807228 453306104 10249438+ 83 Linux
/dev/hdc9 453306168 454318199 506016 82 Linux swap
/dev/hdc10 454318263 487283579 16482658+ 83 Linux
Command (m for help): x
Expert command (m for help): e
Disk /dev/hdc: 255 heads, 63 sectors, 30401 cylinders
Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID
2 00 254 63 1023 254 63 1023 37817010 449466570 0f
5 00 0 1 1023 254 63 1023 230580945 32130 05
6 00 0 1 1023 254 63 1023 230613075 143364060 05
7 00 0 1 1023 254 63 1023 394990155 20498940 05
8 00 0 1 1023 254 63 1023 415489095 1012095 05
9 00 0 1 1023 254 63 1023 416501190 32965380 05
10 00 0 0 0 0 0 0 0 0 00
Expert command (m for help): v
1317764 unallocated sectors
A "fix partition order" пока не запускал, боязно
![](/images/graemlins/frown.gif)
Как я уже отмечал у тебя hdc3 и hdc4 попали внутрь hdc2. Было бы круто это как-нибудь исправить. К тому же у тебя 1317764 секторов не занято (1317764*512 ~ 643Mb). hdc2 заканчивается на секторе 487283579 (а всего их 255*63*30401 = 488392065 то есть в конце не занято ~541Mb. А hdc1 начинается только с сектора 208908, то есть в начале дырка на ~102Mb. Сумма сходится и это хорошоDisk /dev/hdc: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/hdc1 * 208908 37817009 18804051 7 HPFS/NTFS
/dev/hdc2 37817010 487283579 224733285 f Win95 Ext'd (LBA)
/dev/hdc3 411794145 432277019 10241437+ 83 Linux
/dev/hdc4 432277020 432807164 265072+ 82 Linux swap
/dev/hdc5 37817073 268397954 115290441 7 HPFS/NTFS
/dev/hdc6 268398018 268430084 16033+ 14 Hidden FAT16 <32M
/dev/hdc7 268430148 411794144 71681998+ 7 HPFS/NTFS
/dev/hdc8 432807228 453306104 10249438+ 83 Linux
/dev/hdc9 453306168 454318199 506016 82 Linux swap
/dev/hdc10 454318263 487283579 16482658+ 83 Linux
![](/images/graemlins/smile.gif)
Далее смотрим сколько свободных секторов между hdc1 и hdc2, между hdc3 и hdc4 (между hdc2 и hdc3 не смотрим, так как они вообще пересекаются) В обоих случаях 37817010-37817009=432277020-432277019=1, т.е. свободных секторов между разделами нет, и это нормально, обычно именно так все и делают между primary-разделами.
Теперь посмотрим сколько секторов между hdc5-hdc6, hdc6-hdc7, hdc8-hdc9, hdc9-hdc10.
268398018-268397954=268430148-268430084=453306168-453306104=454318263-454318199=64, то есть между ними по 63 сектора. И это тоже нормально, именно так и делают для logical-разделов.
Теперь смотрим на зазоры между hdc7-hdc3 (0 секторов) и hdc4-hdc8 (63 сектора). Если бы между hdc7-hdc3 и hdc3-hcd4 были зазоры по 63 байта, то без проблем можно было бы их превратить в logical (при этом осталось бы всего два primary). Эти зазоры можно сделать, если откусить у hdc3 и hdc4 первые 63 сектора (что не рекомендуется для hdc3, так как на нем есть некоторая ФС. С hdc4 это можно сделать легко, своп не жалко 'форматнуть' заново).
Можно обойтись и без дырок. В этом случае понадобится небольшая ручная работа над диском. Изменить надо будет всего 4 сектора и я даже готов написать что именно надо сделать. Но при этом я не смогу гарантировать работу в произвольной ОС (у меня на компе пашет в linux (ядро 2.6.16) и WinXP (в том числе x64. А также наверняка PartitionMagic и его аналоги будут все время ругаться.
Итак, если не ошибаюсь, партиции по возрастанию стартовых секторов (в скобочках расширенный раздел hdc2): 1-2 (5-6-7-3-4-8-9-10).
Если придется менять расстояние между разделами, то нельзя разве не убирать 63 сектора у 3-го (да, он действительно важен, на нем RH9 стоит а убрать по 63 сектора у 7-го (виндовский раздел) и у 4-го (своп)? И разве после того, как все разделы с номерами >2 станут логическими (не основными можно будет с них грузить ОС?
И нужно ли делать "fix partition order"?
В общем, жду от Вас, , советов. Спасибо
![](/images/graemlins/smile.gif)
Вообще говоря отрезать придется именно сначала разделов
![](/images/graemlins/frown.gif)
Номер начального сектора должен делиться на 63, а при дальнейшем делении на 255 давать в остатке 0 для primary-раздела и 1 для logical. Заканчиваться раздел должен на секторе, прибавив к которому единицу получится число, делящееся на 63*255. Вроде так, проверять влом, честно говоря.
Есть вообще говоря два основных способа 'решить' проблему:
1) ковыряться с тем что есть, либо поклав на стандарты по выравниванию разделов, либо сдвинув/обрезав разделы по стандартам
2) послать все к черту, форматнуть винт и разбить правильно, продуманно.
PS: интересно, а кто это так у тебя хитро побил, что в hdc2 дырка оказалась занята hcd3 и hdc4? Установщик Mandriv'ы?
![](/images/graemlins/shocked.gif)
![](/images/graemlins/frown.gif)
Ага, до установки Мандривы 2006 расширенный раздел заканчивался на последнем ntfs-диске (т.е. перед hdc3).
Слушай, а никак нельзя сделать так, как было до установки Мандривы? А разделы с Мандривой удалить (или что-нить еще с ними сделать)?
Конечно можно. Надо в MBR подправить размер раздела hdc2. И в секторе номер 268430085=268430148-63(начало hdc7 минус 63 сектора)=37817010+230613075(номер сектора, где начинается ext-раздел номер 6 из вывода команды 'x') надо занулить ссылку на следующий ext-раздел.
Спасибо! Скоро попробую!
!
Просто респектище.
Как ты и посоветовал, я подправил размер расширенного раздела в MBR и занулил ссылку из hdc6 на hdc7. И теперь все ок, даже Partition Magic не ругается
)
Спасибо!
Низкий поклон тебе, Просто респектище.
Как ты и посоветовал, я подправил размер расширенного раздела в MBR и занулил ссылку из hdc6 на hdc7. И теперь все ок, даже Partition Magic не ругается
![](/images/graemlins/smile.gif)
Спасибо!
![](/images/graemlins/laugh.gif)
А что если удалить раздел со свопом линуксовским (hdc4 на hdc3 создать и примонтировать соотв. образом файл под своп, и уже создать новый раздел, который будет основным? И на него и поставить Мандриву? Не прокатит? Или есть более легкие пути?
![](/images/graemlins/smile.gif)
Я в свою очередь, при написании руководства по Mandriva 2007.0, учту этот и другие случаи, произошедшие с момента написания руководства по установке Mandriva 2005.
![](/images/graemlins/wink.gif)
Что можно посоветовать: не устанавливать Мандриву (причем 2006-ую, не знаю, как поступит 2007-ой, хотя наверное, так же) в конец диска, если уже есть четыре основных раздела, и расширенный - не последний. Иначе расширенный "проглотит в себя" те разделы, которые будут идти после него, но перед мандривовскими. И в итоге похерится как начальный загрузчик (не будет грузиться ни винда, ни Мандрива так и таблица разделов (что видно из моего первого поста). Вот вкратце и все
![](/images/graemlins/smile.gif)
А остальная часть треда - это как эту самую таблицу разделов поправить, в чем мне очень помог . Честь ему и хвала.Я про это и говорил.
На счет проверки, отошлю как багрепорт. До RC1 изменения разрешены.
Предлашаю тему закрыть, лучше начну новую о загрузчике ntloader.
Оставить комментарий
Geddi-S
Вот почитал мытарства LazY, и решил запостить свою почти аналогичную проблемку. Точнее, их целых две.Первая состоит в том, что после утановки Mandriva и идиотского fixmbr у меня что-то не то с разделами. Вот как они отображаются в винде (через Мой компьютер - Управление - Управление дисками):
Выделены красным "лишние партиции" (т.е. их размер есть сумма swap и / (для второго кружка еще и /home. Однако сама винда их за разделы не считает (их нет в списке разделов, которые показываются в текстовом виде сверху от их графического изображения).
Вот что показывает fdisk в линуксе (RH9, который грузится с загрузочной дискетки):
Partition Magic 8-ой и утилита "Определение оборудования" в линуксе видят диск как одну большую "ошибочную" партицию.
RH9 установлен на hdc3,hdc4; Mandriva 2006 на hdc8, hdc9, hdc10.
Что касается загрузочных секторов отдельных логических дисков NTFS, то с ними вроде в порядке (по крайней мере, первый и последний сектора дисков совпадают). Наверное, если и есть фигня, то она в partition table главном MBR. Вот на всякий случай эта таблица:
Вот. Я пытался менять вторую запись по-разному (00 FE FF FF 0F FE FF FF B2 0A 41 02 CA 50 CA 1A но всякий раз винда вылетала, не успев загрузиться.
Ну и вторая проблема - установленный Mandriva на hdc8 загружаться не хочет. При установке я выбирал Lilo в MBR... Потом, в процессе экспериментов по восстановлению системы, MBR был 10 раз изменен. В этом направлении я копал гораздо меньше, чем для восстановления загрузки винды и ее разделов, но все же с благодарностью выслушаю любые советы. Хотя бы в каком направлении копать.
Спасибо