3

Я заменил свой старый ноутбук, который был win7 и Ubuntu двойной загрузки с SSD.

Теперь я подключил старый диск через USB-адаптер и хочу с него загрузиться.

Но это подходит:

unknown filesystem
grub rescue>

Поскольку мне нужны программы со старого диска, мне приходится время от времени загружаться с него, и я не хочу устанавливать это программное обеспечение на новый диск. Для замены дисков требуется время, поэтому я хочу загрузиться с USB.

Как я могу это исправить?

4 ответа4

1

Думаю, наиболее целесообразным было бы ... скопировать старый диск на SSD. Виртуализация также может быть способом преобразования USB-диска в "сырой" образ и запуска его в полноэкранном режиме (он хорошо работает с USB3).

В противном случае вам придется загружаться с Grub. Вы можете добавить пункт меню для этого, если вы можете сделать это вообще.

Проблема Полишелла

Чтобы проверить следующее, я установил Windows 7 Home Premium (у меня не было другой доступной лицензии, увы) в качестве единой операционной системы.

Затем (из Windows 7) я сократил раздел, чтобы освободить достаточно места для Fedora 18.

В этот момент я загрузился с DVD-диска Fedora 18 (Desktop, Xfce) и установил его на жесткий диск. Установщик обнаружил, что для установки Fedora достаточно места!"Я использовал автоматическое разбиение на разделы и по умолчанию использовал двойную загрузку.

Обе системы загрузились правильно.

В этот момент я удалил раздел F18 (из Windows) и отформатировал свободное место.

После перезагрузки я получил:

GRUB loading.
Welcome to GRUB!

error: unknown filesystem.
Entering rescue mode...
grub rescue> _

Бег

ls

обнаружил три раздела Windows (первый был создан Windows 7 и представляет собой служебный раздел размером 100 МБ).Не знаю, должен ли boot быть msdos1 или msdos2; тот, который я создал, теперь msdos3).

(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (fd0)

Таким образом, раздел Linux, в котором находится необходимый код GRUB2 , потерян. И Grub2, по-видимому, не может выполнять "слепую загрузку" (т.е. загрузку по цепочке к загрузчику в существующем разделе на уровне сектора). Так что теперь нам нужны оригинальные файлы GRUB2, чтобы иметь возможность что-либо делать; а это значит, нам нужна еще одна установка GRUB2.

Итак, с другого компьютера мы загружаем этот инструмент, который на самом деле является установкой для восстановления GRUB2: http://www.supergrubdisk.org/super-grub2-disk/ (это 12 МБ ISO) и помещаем его на загрузочный USB или записать на CD.

И мы загружаемся от этого. Появляется меню, мы идем в "Определить любую операционную систему"; он должен видеть раздел Windows и иметь возможность загружаться в него.

К сожалению, полная ОС Windows также заблокирует системный диск и предотвратит его модификацию, поэтому нам нужно загрузиться в Windows и немедленно нажать F8, чтобы войти в режим обслуживания с разблокированным диском.

Конечно, более быстрым способом на этом этапе будет сохранение исходного DVD-диска Windows или получение друга для записи компакт-диска восстановления Windows, загрузки с него вместо компакт-диска восстановления Grub2 и выполнения этих действий (для Windows 8: есть автоматическое восстановление).

Оказавшись в загрузочном меню Windows 7, первый пункт меню ("Boot Repair", я думаю - моя установка не была англоязычным) автоматически искал все, что может помешать загрузке Windows ("Нет данных или документов не будет потеряно", - сказано в сообщении. ). Затем мне также предложили выполнить восстановление системы, от которого я отказался: система в порядке, загрузочный загрузчик должен быть восстановлен, чего нет даже в восстановлении системы.

Через несколько минут вариант Boot Repair с треском провалился (надеюсь, что Windows 8 станет лучше).

Поэтому я снова загрузился в графическом режиме и гуглил по bootsect.exe (первые две ссылки пытались заставить меня скачать шпионское ПО - хороший файл был около 95 Кб), загрузил его на диск, снова перезагрузил с F8 в Recovery Tools, и после Открыв командную строку, я обнаружил загруженный бинарный файл BOOTSECT.EXE . Итак, я побежал

BOOTSECT /nt60 SYS /mbr

и затем перезагрузился (после удаления компакт-диска восстановления).

Система вошла в исходный графический интерфейс Windows 7 без проблем (за исключением долгого ожидания в начале с большим количеством дисковой активности, в то время как CHKDSK , как я полагаю, тихо запускался)

Загрузка с USB

Это не гарантируется, потому что это зависит от того, как USB-устройство "видится" во время загрузки GRUB. Возможность загрузки с USB из командной строки BIOS может быть недостаточной.

По крайней мере, загрузчик grub придется модифицировать, потому что когда USB-диск был hd0, он "видел" себя как hd0. Теперь он все еще работает, но hd0 теперь еще один диск, так что grub ищет вещи не в том месте.

Вышеприведенные команды еще могут работать, за исключением того, что теперь это не hd0, а hd1, 2 ... и так далее. Хотя не гарантируется вообще. Но тебе может повезти.

root (hd2,1)
chainloader +1
boot

В зависимости от того, что находится на SSD, вам может потребоваться гораздо более сложная настройка : замена дисков на уровне BIOS (требуется аппаратная поддержка EFI) и, возможно, даже скрытие самого SSD.

В качестве первой попытки я попытался бы найти образ в точке монтирования USB и загрузить его оттуда, надеясь, что USB будет выглядеть как hd2:

root (hd2,1)
find /                       <-- press "Tab"
kernel <path to kernel>
initrd <path to initrd>
boot 

Вы можете найти небольшой учебник для вышеупомянутого здесь.

0

сначала загрузиться в Ubuntu из iso.

1.Найдите раздел Ubuntu и папку, содержащую модули Grub.

Папка Grub, содержащая модули, должна быть расположена так, чтобы можно было загружать правильные модули. Эта папка была бы создана во время первоначальной установки Ubuntu и должна находиться в разделе Ubuntu. Эта папка обычно находится по адресу (hdX, Y)/boot/grub или (hdX, Y)/usr/lib/grub/i386-pc. Найдите существующий раздел Ubuntu и папку модуля.

ls                               # List the known drives (hdX) and partitions (hdX,Y)
ls (hdX,Y)/                      # List the contents of the partition's root
ls (hdX,Y)/boot/grub             # Normal location of the Grub 2 modules.
ls (hdX,Y)/usr/lib/grub/i386-pc  # Alternate location of the Grub 2 modules.
  • ls - должен вернуть все известные диски (hdX) и разделы (hdX, Y)
  • ls (hdX, Y)/ - должен показывать содержимое корневого каталога раздела.
  • Если вы получаете сообщение «error: unknown filesystem», это не ваш раздел Ubuntu.
  • Если это раздел Ubuntu, вы увидите папки Ubuntu, включая lost+found/, home/, boot/, vmlinuz и initrd.img. Используйте этот адрес в качестве первой части следующей команды.
  • ls (hdX, Y)/ boot/ grub - должен отображать несколько десятков * .mod файлов. Это папка, которую вы ищете.
  • Если вы не нашли модули, попробуйте альтернативное расположение: ls (hdX, Y)/ usr/ lib/ grub/ i386-pc

2.Загрузите модули.

set prefix=(hdX,Y)/<path to modules>
  • Эта команда должна правильно указывать на папку, содержащую модули Grub. Адрес должен быть тем, что был в предыдущем разделе, где отображались модули.

Примеры:

set prefix=(hd0,5)/boot/grub 
set prefix=(hd1,1)/usr/lib/grub/i386-pc
  • Загрузите модули:

    insmod linux insmod loopback insmod iso9660 insmod fat # Если ISO находится на разделе, отформатированном в fat16 или fat32. insmod ntfs # Если ISO находится в разделе, отформатированном в NTFS. insmod nftscomp # Если в разделе используется сжатие NTFS. Загрузите, если вы не уверены.

  • Ошибка "файл не найден" означает, что путь в префиксе неверен или конкретный модуль не существует. Настройки префикса можно просмотреть с помощью команды set. Повторите команду «set prefix =», указав правильный путь.

3.Найдите ISO-файл Ubuntu.

  • Используя комбинации команд ls, найдите образ Ubuntu ISO.

4.Создать петлевое устройство. loopback loop (hdX, Y)//

  • Пример:

    loopback loop (hd1,1)/path/to/ubuntu-10.04.1-desktop-i386.iso

5.Загрузите ядро Linux и образ initrd.

set root=(loop)

linux /casper/vmlinuz boot=casper iso-scan/filename=/<ISO-name.iso> noprompt noeject

initrd /casper/initrd.lz
  • Если путь к ISO или имени файла не верен, загрузка остановится на экране BusyBox и выдаст сообщение о том, что «не удается открыть /dev /sr0: не найден носитель».
  • Примечание. Если файл ISO отсутствует в папке /, укажите путь в записи iso-scan /filename =. Смотрите второй пример.

  • Примеры:

    linux /casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04.1-desktop-i386.iso
    
    linux /casper/vmlinuz boot=casper iso-scan/filename=/my-iso/ubuntu-10.04.1-desktop-i386.iso
    

6.Загрузочный.

  • Это должно быть так. Если команды выполнялись без каких-либо сообщений / ошибок, команды были приняты как введенные. Пришло время для загрузки:

ботинок

дополнительная информация здесь

Теперь сделайте это после загрузки:

вот пост с такой же проблемой и решается как ниже,

1. sudo mount /dev /sdaX /mnt

здесь sdaX - ваш загрузочный раздел. Вы можете получить список с sudo blkid, как это,

/dev/sda1: LABEL="Windows XP" UUID="96A4390DA438F0FB" TYPE="ntfs" 
/dev/sda3: LABEL="Ubuntu 11.04" UUID="b61fcae3-7744-45b4-95b9-7528d50a3652" TYPE="ext4" 
/dev/sda5: LABEL="Se7en" UUID="A2DC9D71DC9D4109" TYPE="ntfs" 
/dev/sda6: LABEL="Development" UUID="DEB455A1B4557CC9" TYPE="ntfs" 
/dev/sda7: LABEL="EXTRA" UUID="D8A04109A040F014" TYPE="ntfs" 
/dev/sda8: LABEL="SONG" UUID="46080FCD080FBAC7" TYPE="ntfs" 
/dev/sda9: LABEL="BACKUPS" UUID="766E-BC99" TYPE="vfat" 

примечание: sdaX должен быть разделом Linux.

2. sudo grub-install --boot-directory=/mnt/boot /dev/sda

3. sudo update-grub

0

1-й вы можете попытаться:

grub rescue> ls
(hd0) (hd0,1)
grub rescue> insmod ext2
grub rescue> insmod msdos
ошибка: неизвестная файловая система.

тогда вы должны исследовать

http://www.gnu.org/software/grub/manual/multiboot/multiboot.html

- http://rzr.online.fr/q/grub

-1

Вы можете использовать Ubuntu и Lilo для восстановления MBR на этом диске. Я написал учебник о том, как сделать это на thenewtech.tv

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .