Re: вопросик по NTFS
On Thu, Jul 27, 2006 at 10:53:10PM +0200, MaSJaN wrote:
> делаешь стартовую дискету с grub'ом, чтобы потом запустить линух,
> восстанавливаешь NTFS как это описано здесь:
> http://support.microsoft.com/kb/121517/EN-US/
> , далее бутуешь с дискеты (если при восстановлении NTFS был переписан
> MBR) и нормально переконфигурируешь GRUB.
>
> ну или ставишь read/write ntfs модули и с их помощью восстанавливаешь
> > NTFS-fs warning (device hda1): read_ntfs_boot_sector(): Hot-fix:
> Recovery of
> > primary boot sector failed: Read-only mount.
> (насколько я понимаю он как раз это и пытается сделать! только опасность
> в том, что может не только не восстановить, но и добить то, что осталось!)
>
> надеюсь, что хоть чем-то помог! я так пару раз после suse спасал нтфсы и
> винду...
Заглянул в код linux/fs/ntfs/super.c на предмет read_ntfs_boot_sector().
Оказалось все довольно просто: резервный бутсектор хранится в конце диска (в
NT 4 и выше). Также подтверждается ссылкой выше. Так что сделал вот что:
Смотрим вывод fdisk:
Disk /dev/hda: 122.9 GB, 122942324736 bytes
255 heads, 63 sectors/track, 14946 cylinders, total 240121728 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 63 31358879 15679408+ 7 HPFS/NTFS
/dev/hda2 31358880 240107489 104374305 f W95 Ext'd (LBA)
[ скипнуто ]
# dd if=/dev/hda1 of=dump bs=512 skip=31358816 count=1
(Пояснение: 31358816 = 31358879 - 63 + 1)
Смотрим в dump, убеждаемся, что получили то, что надо, и затем
# dd if=dump of=/dev/hda1 bs=512 count=1
Сработало.
--
Станислав
Reply to: