12.07.2009 в 00:13 — Отто
Было: два винта (320 гигов и терабайт), условно винт А и винт Б, Б - новый. На А жили хрюша и дебиан. Решил переселить дебиан на винт Б. Скопировал /, загрузился под лайв-убунтой, установил граб на новый винт. Все работает.
Решил посмотреть на виндовс 7 - поставил на винт А, снеся разделы с хп и дебианом. Посмотрел. После этого дебиан с винта Б загружаться перестал, ошибка следующая:
root (hd1,1)
Filesystem type unknown, partition type 0xf
kernel /boot/vmlinuz-2.6.26-1-686 root=/dev/sdb2 ro quiet
Error 17: Cannot mount selected partition
Винда на винте А из того же граб-меню (оставил ее в меню, ссылка на hd0) - тоже не загружается, уже с таким сопровождением:
root (hd0,0)
Filesystem type unknown, partition type 0x82
savedefault
makeactive
chainloader +1
Error 13: Invalid or unsupported executable format
Что делать?
Содержимое /boot/grub/:
Содержимое фстаб:
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/sdb2 / reiserfs notail 0 1
/dev/sdb1 swap swap defaults 0 1
/dev/sdb5 /mnt/music ext3 defaults 0 2
/dev/sdb6 /mnt/video xfs defaults 0 2
/dev/sda1 /media/system ntfs-3g locale=-8,dmask=0,fmask=0111 0 0
/dev/sda5 /media/soft ntfs-3g locale=-8,dmask=0,fmask=0111 0 0
/dev/sda6 /media/data ntfs-3g locale=-8,dmask=0,fmask=0111 0 0
/dev/sda7 /media/video ntfs-3g locale=-8,dmask=0,fmask=0111 0 0
/dev/cdrom /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/cdrw /media/cdrom1 udf,iso9660 user,noauto 0 0
Комментарии
восстановить граб...
sudo grub
find /boot/grub/stage1
root (hd?,?) #вместо вопросов результат предыдущей команды
setup (hd0) #ну или куда там тебе надо
quit
Что мне должно было дать "find /boot/grub/stage1"?
Рут и сетап - пробовал (в hd1), результата нет
find логически должен был выдать местонахождение этого самого stage1
Да нифига он не находит. При смонтированной папке - выдает путь до этого файла (я его и так знал, блин), при несмонтированной не находит ничего. Логично.
он тебе что выдал?
по идее должен был дать что то типо hd(1,1)
вроде как....
ты каким макром делаешь то что я написал?
ой мля..... я дебил......
у тебя само меню груба вылазит?
Блджад, я делаю макаром под названием "find /boot/grub/stage1". Если запустить это просто из шелла - то при смонтированном разделе выдает путь до этого файла (путь вида "mountpoint/boot/grub/stage1"), при несмонтированном - говорит, что не может найти. Если я запускаю эту строку в грабе (после набора в шелле команды "sudo grub") - вообще ничего не находит ни в том, ни в другом случае (так и говорит, что не нашел файл)
Ага, меню граба вылазит. Это меню "командная строка" называется
не, я не про то, у тебя при загрузке, синий экран с выбором оси есть?
Уверен, что после переноса дебиана на Б, он и грузился с Б? Логично, что если он загружался с А, то и когда на нем все потерли, загружаться он перестал. Поиграйся с `root (hd1,1)` и `root(hd0,0), попробуй другие сочетания, попробуй поменять местами их.
Синий экран с выбором оси есть. Да, дебиан грузился с Б (там в видно, что загрузка дебиана - с hd1, а винды - с hd0). С номерами hd пробовал играться, при "setup (hd0)" - выдает ошибку (уже точно не помню, какую). В общем-то я почти уверен, что винт Б - это hd1 (номера, скорее всего, присваиваются от порядка при подключении к портам, а не от порядка загрузки в биосе)
А ты не пробовал, когда эксперементируешь второй винт отрубать? или для подобых "посмотреть" иметь отдельный винт чтоб другие не кантовать. не уже конечно поздно пить боржоми))) но на будуще имей запасной винт хоть 20-80гб для подобных вещей)))
В общем попробуй самый простой путь - загрузись с лайвСД, смонтируй свой /boot в /mnt а потом обнови на нем груб (update-grub).
Проблему решил - когда наконец обратил внимание, что именно говорит граб при неудаче (в первом посте сам же указывал). Теперь уже точно не знаю, Семён ли это поработал или я своими кривыми руками (наиболее вероятно), но суть была в следующем: раньше винт А представлялся как hd0, а Б - соответственно, hd1, теперь же они поменялись ролями. В пути остались прежними, поэтому граб пытался найти дебиан на расширенном разделе (0xf - это никак не райзер), а винду - на свопе (0x82 - это тоже не нтфс).
Как я понимаю, номер у hd? зависит только от приоритетов хардов в биосе?
>раньше винт А представлялся как hd0, а Б - соответственно, hd1, теперь же они поменялись ролями.
На что я и намекал ещё в первом своём посте.