LINUX.ORG.RU
ФорумTalks

восстановить загрузчик xp

 ,


0

1

есть hdd 15 гб, разделённый на 4 раздела - 5 гб fat32, 4.5 гб openbsd 6.7 snapshot, 3.5 gb debian 4.0 etch, четвёртый раздел пока просто пустой ext2 раздел

есть венда, перенесённая с этого же компьютера, но с винта 6 гб, где ей было выделено 3 гб

есть первых 512 байт раздела диска ЦЭ с того 3-гб диска

(MBR не касаемся, в MBR на старом диске вообще был plpbt)

хочется восстановить венду на всех этих 5 гб. никакой загрузки со внешних носителей нет - только grub 0.97 из debian 4.

итак:

я тупо записал эти 512 байт в /dev/hda1... проблема в том, что там записана геометрия - диск снова стал 3 гб, да ещё и данные потерял. как записать этот сектор с исправленной геометрией? в MBR, насколько я помню, можно записать то ли первых 440, то ли первых 446 байт... а этот сектор - я на него глядел, но где он записывает геометрию - я не увидел. как напрямую грузить ntldr из grub 0.97 - я тоже не увидел

ковырял ms-sys - но то ли я неправильно делаю, то ли он пишет именно MBR, а не первый сектор раздела. когда я делаю ms-sys -w /dev/hda1 - он мне и пишет сектор для Win95. а мне нужен сектор, который передаёт управление ntldr. пробовал ms-sys -m -f и ms-sys -m -p -f - оно просто убивает раздел, это явно не то

по идее, нужное делает fixboot.exe, но я тупо не понимаю, как его запустить.

проще всего, наверное, найти в загрузчике (512 байт) смещения геометрии и поправить их...

★★★★★

По-идее всякие вантузные загрузочные секторы не нужны, тк в grub можно напрямую прописать

menuentry "Windows XP BIOS MBR" {
     insmod part_msdos
     insmod ntldr
     insmod ntfs
     ntldr (hd0,msdos1)/ntldr
}
nvidia
()

венда разве в BR раздела не пишет свой заргузочник?

как записать этот сектор с исправленной геометрией?

sparse file чуть большего размера, losetup, parted/fdisk/etc и там делай нужную геометрию до посинения

а потом перенеси и накати сверху загрузочник, через виртуалочку например.

как напрямую грузить ntldr из grub 0.97 - я тоже не увидел

но зачем? chainloader, не?

n_play
()
Ответ на: комментарий от n_play

венда разве в BR раздела не пишет свой заргузочник?

венда пишет. но этот конкретный раздел создал Debian 4.0 installer. я разтарболил там винду, и мне теперь надо её как-то загрузить

sparse file чуть большего размера, losetup, parted/fdisk/etc и там делай нужную геометрию до посинения

а потом перенеси и накати сверху загрузочник, через виртуалочку например.

любое решение, при котором проще будет ноут в окно выкинуть - я лучше ноут в окно выкину. мне надо тупо знать смещение в этих 512 байтах, чтобы любым hex-редактором поправить. я не могу найти этой информации. я даже не знаю, как этот «первые 512 байт раздела» называется...

.

каким-то внешним лоадером загрузил венду через pxe - так тамо все настройки накрылись почему-то... зато драйверы на месте :) но я даже из самой винды не смог восстановить винду, я даже не знаю, где найти этот fixboot

buratino ★★★★★
() автор топика

MBR в начале выглядит как-то так для всяких там флоппи-дисков:

start:      jmp         bootstrap   ; Ommit first 30 bytes.
            nop                     ; Traditional No operation.
            db          "OEMNAME"   ; OEM name.
            dw          NBYTEPSEC   ; Number of bytes per sector.
            db          NSECPCLU    ; Number of sectors per cluster.
            dw          NRESSEC     ; Number of reserved sectors.
            db          NFATCOPYS   ; Number of FAT copies.
            dw          NROOTRECS   ; Number records (?) of the 
                                    ; ROOT directory.
            dw          NTOTALSEC   ; Total number of sectors.
            db          MEDIADESC   ; Media descriptor, here is floppy.
            dw          FATSIZE     ; Number of FAT sectors.
            dw          NSECPTRACK  ; Number of sectors per track.
            dw          NHEADS      ; Number of heads.
            dw          NHIDDSEC    ; Number of hidden sectors.

а потом в самом конце идёт таблица разделов перед магическим 0xaa55

luke ★★★★★
()
Последнее исправление: luke (всего исправлений: 1)
Ответ на: комментарий от buratino

fixboot и fixmbr находятся на дистрибутиве винды. Загружаешься и идёшь в консоль.

gadfly ★★
()
Ответ на: комментарий от buratino

Тю, да просто перенести весь диск с виндой 1 в 1 а потом какимнибудь ресайзером ресайзнуть

dem ★★
()

разделённый на 4 раздела - 5 гб fat32, 4.5 гб openbsd 6.7 snapshot, 3.5 gb debian 4.0 etch, четвёртый раздел пока просто пустой ext2 раздел

Ну нельзя быть настолько сексуально неудовлетворённым, сними себе уже (гей)шлюху.

DELIRIUM ☆☆☆☆☆
()

проще всего

проще всего предварительно сделать клон раздела клонзилой а потом восстановить с ресайзом.

e000xf000h
()

Я не помню уже, давно такое было. Но бэкап ntfsclone + mssys прекрасно всё восстанавливали. Помню всё легко было, без каких-либо волшебных ключиков и особых усилий.

В том числе можно перенести винду на другой размер винча или раздела.

Первый блок раздела - насколько я помню - восстанавливает ntfsclone.

Если у тебя бэкап винды tar.gz :) - тогда не знаю что делать.

the1 ★★
()

ну то что ты таблицу разделов снес - это думаю понятно. Восстановить или сам если помнишь точные цифры границ разделов, или через testdisk.
А вот по поводу загрузки бэкапной винды, всё же рекомендую воспользоваться grub второй версии. Просто распакуй/установи из дистрибутива поновее.

Я смог им нормально запустил старую винду на 4k винчестере(с соответствующим выравниванием).
А стандартный вариант fixboot/fixmbr такое в принципе не смог восстановить. Восстанавливал XP и 2003, до остальных пока не дошел.

Atlant ★★★★★
()
Ответ на: комментарий от the1

mssys прекрасно всё восстанавливали

ага, но только до тех пор пока новые 4к винчестеры не стали. Так что теперь без grub2 неудастся (точнее удастся, но будут тормоза из за отсутствия выравнивания).

Atlant ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.