Как зафиксировать 'ошибочный файл личинки, не найденный' при установке 12.04?

я пытаюсь установить Ubuntu. Я не знаю, важно ли это, но я пытаюсь установить его на внешнем жестком диске.

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

error: file not found
grub recovery>

С начала:

  • Я загрузил ubuntu-12.04-desktop-i386.iso
  • Я использовал создателя LiLi USB (LinuxLive) для создания загрузочного pendrive из того изображения
  • У меня есть bootet от него, это работает
  • Я нажал "Try ubuntu", он работает также.

Я использовал GParted для просмотра драйверов (диски)

Мой основной встроенный диск рассматривается как/dev/sda

Мой приложенный внешний диск как/dev/sdb

Мой PenDrive как/dev/sdc

  • Я создал разделы на/dev/sdb

  • Раздел кулака для системы (более чем 200 ГиБ)

  • Второй уже был там (это - xsf, и я не хочу касаться его :P)
  • Треть является расширенным разделом с 1 locital разделом (10 ГиБ) для подкачки

  • Я начал установку

  • я имею, выбирают "somethin else" в... i живо вторых screeb
  • затем выбран/dev/sdb как загрузочный диск
  • для первого раздела/dev/sdb, который я установил, я хочу ext3 файловую систему, я имею проверку "formattin" флажок и монтирую набор пути к "/"
  • ели логический набор раздела как раздел подкачки

После законченной установки я перезапустил свой компьютер. Когда я загружаюсь от своего первичного диска, это - работа хорошо, моя предыдущая операционная система - перспектива - работы хорошо. Когда я установил свой BIOS для начальной загрузки от моего внешнего диска, я только получаю то сообщение:

error: file not found
grub recovery>
  • Я имею попытку переустановить его, но не помог...

В отчаянии у меня есть попытка читать немного о том "восстановлении личинки>" командная строка и экспериментировать немного... Я не уверен, имело ли это какую-либо точку, или если она дает Вам некоторую информацию (уведомление, что я не знаю то, что я делаю :P)

когда у меня есть команда типа:

insmod (hd1,1)/boot/grub/linux.mod

я имею, получают сообщение:

unknown filesystem

то же с:

insmod (hd1,msdos1)/boot/grub/linux.mod

то же с:

insmod ext3

но я не получаю сообщения после команды:

insmod ext2

...

заметьте, что я действительно не знаю то, что эту команду точно делают, но, чем я думал, что, возможно, если я переустанавливаю человечность с ext2 файловой системой, она будет работать. Я сделал это, но признаки являются тем же.

Я имею, возвращаются к той Активной версии человечности, каталоги файловой системы и основ, кажется, присутствуют на/dev/sdb1... я абсолютно незнаком с GRUB. Я, также не знают, какая версия GRUB это, я надеюсь, что на ubuntu-12.04-desktop-i386.iso существует только одна версия

Какая-либо справка? Thax

======================= отредактируйте 17.06.2012 22:05 =========================

Это - RESULTS.txt от bootinfoscript

sda является мой жесткий диск в сборке

sdb является внешний жесткий диск (дисковое место назначения для Ubuntu)

sdc является PenDrive с Живой Ubuntu

                  Boot Info Script 0.61      [1 April 2012]


============================= Boot Info Summary: ===============================

 => Windows is installed in the MBR of /dev/sda.
 => Grub2 (v1.99) is installed in the MBR of /dev/sdb and looks at sector 1 of 
    the same hard drive for core.img. core.img is at this location and looks 
    for (,msdos1)/boot/grub on this drive.
 => Syslinux MBR (4.04 and higher) is installed in the MBR of /dev/sdc.

sda1: __________________________________________________________________________

    File system:       vfat
    Boot sector type:  Windows 7: FAT32
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /bootmgr /boot/bcd

sda2: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  Windows Vista
    Boot files:        /bootmgr /Boot/BCD /Windows/System32/winload.exe

sda3: __________________________________________________________________________

    File system:       Extended Partition
    Boot sector type:  -
    Boot sector info: 

sda5: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  According to the info in the boot sector, sda5 starts 
                       at sector 63.
    Operating System:  
    Boot files:        

sdb1: __________________________________________________________________________

    File system:       ext2
    Boot sector type:  -
    Boot sector info: 
    Operating System:  Ubuntu 12.04 LTS
    Boot files:        /boot/grub/grub.cfg /etc/fstab /boot/grub/core.img

sdb3: __________________________________________________________________________

    File system:       xfs
    Boot sector type:  -
    Boot sector info: 
    Mounting failed:   mount: /dev/sdb3: can't read superblock

sdb4: __________________________________________________________________________

    File system:       Extended Partition
    Boot sector type:  -
    Boot sector info: 

sdb5: __________________________________________________________________________

    File system:       swap
    Boot sector type:  -
    Boot sector info: 

sdc1: __________________________________________________________________________

    File system:       vfat
    Boot sector type:  SYSLINUX 4.04 2011-04-18
    Boot sector info:  Syslinux looks at sector 3250552 of /dev/sdc1 for its 
                       second stage. SYSLINUX is installed in the  directory. 
                       The integrity check of the ADV area failed. No errors 
                       found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /syslinux/syslinux.cfg /ldlinux.sys

============================ Drive/Partition Info: =============================

Drive: sda _____________________________________________________________________

Disk /dev/sda: 160.0 GB, 160041885696 bytes
16 heads, 63 sectors/track, 310101 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sda1               2,048    20,482,047    20,480,000  1c Hidden W95 FAT32 (LBA)
/dev/sda2    *     20,482,048   176,771,071   156,289,024   7 NTFS / exFAT / HPFS
/dev/sda3         176,771,072   312,580,095   135,809,024   f W95 Extended (LBA)
/dev/sda5         176,773,120   312,580,095   135,806,976   7 NTFS / exFAT / HPFS


Drive: sdb _____________________________________________________________________

Disk /dev/sdb: 640.1 GB, 640135028736 bytes
255 heads, 63 sectors/track, 77825 cylinders, total 1250263728 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sdb1    *          2,048   574,773,569   574,771,522  83 Linux
/dev/sdb3         574,773,570 1,208,315,584   633,542,015   7 NTFS / exFAT / HPFS
/dev/sdb4       1,208,317,950 1,229,289,471    20,971,522   f W95 Extended (LBA)
/dev/sdb5       1,208,317,952 1,229,289,471    20,971,520  82 Linux swap / Solaris


Drive: sdc _____________________________________________________________________

Disk /dev/sdc: 1971 MB, 1971322880 bytes
129 heads, 40 sectors/track, 746 cylinders, total 3850240 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sdc1    *             40     3,850,239     3,850,200   6 FAT16


"blkid" output: ________________________________________________________________

Device           UUID                                   TYPE       LABEL

/dev/loop0                                              squashfs   
/dev/loop1       7aa47a24-93a0-d54f-a03c-495cf2ee0927   ext2       
/dev/sda1        3C98-AC5D                              vfat       RECOVERY
/dev/sda2        94CA2D3CCA2D1BCC                       ntfs       VistaOS
/dev/sda5        A2F09F72F09F4B83                       ntfs       DATA
/dev/sdb1        a4befd4a-f91f-4f09-9d5f-a44991ed6a2e   ext2       
/dev/sdb3        973a36d7-5828-4291-b455-db286cd69668   xfs        
/dev/sdb5        9ce43dea-fd93-4343-969d-1243397724bd   swap       
/dev/sdc1        7232-C522                              vfat       GOODDRIVE

================================ Mount points: =================================

Device           Mount_Point              Type       Options

/dev/loop0       /rofs                    squashfs   (ro,noatime)
/dev/sdc1        /cdrom                   vfat       (rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)


=========================== sdb1/boot/grub/grub.cfg: ===========================

--------------------------------------------------------------------------------
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd1,msdos1)'
search --no-floppy --fs-uuid --set=root a4befd4a-f91f-4f09-9d5f-a44991ed6a2e
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod part_msdos
  insmod ext2
  set root='(hd1,msdos1)'
  search --no-floppy --fs-uuid --set=root a4befd4a-f91f-4f09-9d5f-a44991ed6a2e
  set locale_dir=($root)/boot/grub/locale
  set lang=pl_PL
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
  clear
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
    set gfxpayload="$1"
    if [ "$1" = "keep" ]; then
        set vt_handoff=vt.handoff=7
    else
        set vt_handoff=
    fi
}
if [ ${recordfail} != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Ubuntu, za pomocą systemu Linux 3.2.0-23-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos1)'
    search --no-floppy --fs-uuid --set=root a4befd4a-f91f-4f09-9d5f-a44991ed6a2e
    linux   /boot/vmlinuz-3.2.0-23-generic-pae root=/dev/sdb1 ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.2.0-23-generic-pae
}
menuentry 'Ubuntu, za pomocą systemu Linux 3.2.0-23-generic-pae (tryb ratunkowy)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos1)'
    search --no-floppy --fs-uuid --set=root a4befd4a-f91f-4f09-9d5f-a44991ed6a2e
    echo    'Wczytywanie systemu Linux 3.2.0-23-generic-pae...'
    linux   /boot/vmlinuz-3.2.0-23-generic-pae root=/dev/sdb1 ro recovery nomodeset 
    echo    'Wczytywanie początkowego dysku RAM...'
    initrd  /boot/initrd.img-3.2.0-23-generic-pae
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos1)'
    search --no-floppy --fs-uuid --set=root a4befd4a-f91f-4f09-9d5f-a44991ed6a2e
    linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos1)'
    search --no-floppy --fs-uuid --set=root a4befd4a-f91f-4f09-9d5f-a44991ed6a2e
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows Recovery Environment (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod fat
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 3C98-AC5D
    drivemap -s (hd0) ${root}
    chainloader +1
}
menuentry "Windows Vista (loader) (on /dev/sda2)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos2)'
    search --no-floppy --fs-uuid --set=root 94CA2D3CCA2D1BCC
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
--------------------------------------------------------------------------------

=============================== sdb1/etc/fstab: ================================

--------------------------------------------------------------------------------
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sdb1 during installation
UUID=a4befd4a-f91f-4f09-9d5f-a44991ed6a2e /               ext2    errors=remount-ro 0       1
# swap was on /dev/sdb5 during installation
UUID=9ce43dea-fd93-4343-969d-1243397724bd none            swap    sw              0       0
--------------------------------------------------------------------------------

=================== sdb1: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

               =                boot/grub/core.img                             1
               =                boot/grub/grub.cfg                             1
               =                boot/initrd.img-3.2.0-23-generic-pae           6
               =                boot/vmlinuz-3.2.0-23-generic-pae              3
               =                initrd.img                                     6
               =                vmlinuz                                        3

========================= sdc1/syslinux/syslinux.cfg: ==========================

--------------------------------------------------------------------------------
# D-I config version 2.0
include menu.cfg
default vesamenu.c32
prompt 0
timeout 50
ui gfxboot bootlogo
--------------------------------------------------------------------------------

================= sdc1: Location of files loaded by Syslinux: ==================

           GiB - GB             File                                 Fragment(s)

            ?? = ??             ldlinux.sys                                    1
            ?? = ??             syslinux/chain.c32                             1
            ?? = ??             syslinux/gfxboot.c32                           1
            ?? = ??             syslinux/syslinux.cfg                          1
            ?? = ??             syslinux/vesamenu.c32                          1

============== sdc1: Version of COM32(R) files used by Syslinux: ===============

 syslinux/chain.c32                 :  COM32R module (v4.xx)
 syslinux/gfxboot.c32               :  COM32R module (v4.xx)
 syslinux/vesamenu.c32              :  COM32R module (v4.xx)

=============================== StdErr Messages: ===============================

xz: (stdin): Compressed data is corrupt
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in
/home/ubuntu/Pobrane/bootinfoscript-061/bootinfoscript: line 1646: [: 2.73495e+09: integer expression expected

Я должен сказать, что сценарий печатает на терминале:

Boot Info Script 0.61      [1 April 2012]


"gawk" could not be found, using "busybox awk" instead.
This may lead to unreliable results.

Identifying MBRs...
Computing Partition Table of /dev/sda...
Computing Partition Table of /dev/sdb...
Computing Partition Table of /dev/sdc...
Searching sda1 for information... 
Searching sda2 for information... 
Searching sda3 for information... 
Searching sda5 for information... 
Searching sdb1 for information... 
Searching sdb3 for information... 
Searching sdb4 for information... 
Searching sdb5 for information... 
Searching sdc1 for information... 

Finished. The results are in the file "RESULTS.txt"
located in "/home/ubuntu/Pobrane/bootinfoscript-061/".

============== отредактируйте 18.06.2012 18:38 ===============

хорошо, это - более или менее копия моей сессии восстановления личинки:

error: file not found
grub recovery> set
prefix=(hd0,msdos1)/boot/grub
root=hd0,msdos1
grub recovery> ls
(hd0) (hd0,msdos3) (hd0,msdos1) (hd1) (hd1,msdos5) (hd1,msdos2) (hd1,msdos1)
grub recovery> ls $prefix

error: file not found
grub recovery> 

затем я использовал 'ls' cmd на немногих, соединяют каналом, результаты являются странными (я думаю):

grub recovery> ls (hd0,msdos1)/boot

grub recovery> ls (hd0,msdos1)/boot/grub

error: file not found
grub recovery> ls (hd0,msdos1)/lib

grub recovery> ls (hd0,msdos1)/bin

grub recovery> ls (hd0,msdos1)/sys
./ ../
grub recovery> ls (hd0,msdos1)/sbin

grub recovery> ls (hd0,msdos1)/usr
./ ../ local/ (and some other things)

действительно ли это нормально? я вижу/boot/grub и его содержание, когда я монтирую этот внешний жесткий диск Живой Ubuntu

6
задан 18 June 2012 в 20:54

3 ответа

Измените настройки загрузки для загрузки с внешнего жесткого диска. Компьютер пытается найти грязь на встроенном жестком диске, но на самом деле он находится на внешнем жестком диске. Таким образом, вам придется изменить параметры загрузки, чтобы использовать этот внешний жесткий диск для загрузки в качестве первого предпочтения, а затем встроенный жесткий диск - в качестве второго предпочтения. Поэтому, если вы вставите свой внешний жесткий диск, он автоматически загрузит Ubuntu, а если вы этого не сделаете, он загрузит систему, на которой вы установили его на встроенном жестком диске.

0
ответ дан 18 June 2012 в 20:54

Симптом возможности видеть некоторые файлы, но не все в файловой системе с grub, обычно означает, что ваш BIOS содержит ошибки и не может правильно обрабатывать большие диски ( http://tldp.org/HOWTO/Large -Disk-HOWTO-4.html ). Что происходит, так это то, что BIOS не может читать блоки после определенной точки диска, и поэтому, если ваша корневая файловая система запускается до этого предела, но заканчивается после этого предела, то некоторые файлы будут доступны при загрузке через BIOS, а другие будут «т. Стандартный способ обойти эту проблему - создать небольшой / boot / раздел в начале диска, чтобы гарантировать, что все, что нужно прочитать через BIOS, может быть.

Я бы обычно ожидал ошибок «вне диска» от grub, и я не знаю, почему мы их не видим. Один из способов подтвердить, что проблема заключается в ограничении BIOS, состоит в том, чтобы зайти в меню BIOS и посмотреть, какой у него размер диска, если он указывает, что он меньше, чем фактический размер, и вы знаете, что ваш BIOS содержит ошибки. Другой способ, если ваш BIOS не перечисляет размеры нигде в своих меню, это запустить "ls -l" из grub и посмотреть на размер, указанный там. К сожалению, вы не можете запустить "ls -l" из оболочки восстановления, поэтому вам нужно будет загрузиться с компакт-диска или уже исправить проблему с небольшим разделом / boot /, прежде чем вы сможете выполнить проверку из внутри личинки.

0
ответ дан 18 June 2012 в 20:54

Если у вас все еще есть проблемы с этим, попробуйте «GRUB Customizer»

sudo apt-get grub-customizer

ПОДКЛЮЧИТЕ В СВОЕМ PENDRIVE или внешний USB [ 112]

запустите его из инструментов администратора графического интерфейса Admin-> grub-Customizer или Q!

После запуска программа прочитает ваш загрузочный скрипт, похожий на bootinfoscript, так что подождите несколько секунд до его завершения, затем окно информации о загрузке изменит цвет с серого на нормальный.

Затем вы можете редактировать загрузочную информацию для каждого диска, как он был найден.

Чтобы добавить новую запись, просто нажмите edit-> Add, затем выберите Linux. с помощью кнопки вкладки убедитесь, что UUID диска соответствует диску, с которого вы хотите загрузиться.

нажмите Готово.

нажмите кнопку «Сохранить»

. Проверьте свои правки, просмотрите меню grub-boot и убедитесь, что изменения были сохранены. Я предполагаю, что ваш загрузчик grub установлен на hd0 или sda0. cat out

/hd0/boot/grub/grub.cfg # не редактируйте этот файл, просто просмотрите или проверьте его. или снова запустите свой загрузочный скрипт.

если это не решит проблему, то у вас могут быть проблемы с ядром. Мне пришлось переустанавливать свою Ubuntu-LTS таким образом, потому что другая 64-битная установка Linux слишком сильно расходилась с загрузчиком. Если вы используете 64-битную машину, убедитесь, что usb-диск / pendrive также является 64-битной ОС. В противном случае USB-драйвер будет отключен при попытке загрузить USB-накопитель.

Было хорошей идеей, чтобы размер новой ОС оставался небольшим - около 6-10 МБ, чтобы вы не выходили за пределы верхней границы для больших ГБ-HD. Вам также необходимо убедиться, что все внешние драйверы USB установлены перед запуском grub. Для этого нажмите кнопку со стрелкой вниз на фиолетовом экране, чтобы увидеть, какие модули устанавливаются, а какие разветвляются.

Если это не помогло, попробуйте использовать аварийный диск для поиска отсутствующего ядра / файлов. Я использую bootrecovery-CD (sourceforge: boot-repair-diskx64) или Linux-remix-CD (www.ubuntu-rescue-remix.org), когда что-то не так с Grub-Customizer.

0
ответ дан 18 June 2012 в 20:54

Другие вопросы по тегам:

Похожие вопросы: