Ошибка при no such device

#
6 лет, 10 месяцев назад

(отредактировано

6 лет, 10 месяцев назад)

Темы:

1

Сообщения:

7

Участник с: 23 июля 2016

Добрый вечер. Ставлю arch на ноут msi gs 70. На uefi вообще ничего не вставало, в итоге переключился на bios. Отключил быструю загрузку и secure boot. Система кое-как поставилась, но при перезагрузке выдает ошибку «no such device». Для проверки сделал всего один корневой раздел, без бута, подкачки и прочего. Проверил UUID, он совпадает в грабе и в blkid, и в ошибке «no such device». Ошибка распространенная, много перечитал(русскую информацию, английский практически не знаю), но проблема так и не решилась. Плюс нет возможности загрузиться с какого-то другого дистрибутива linux(пробовал debian,mint,ubuntu) с live-cd, просто виснет при загрузке(видно как-то блокирует ноут, нормально грузится и встает только win10, которая и рекомендуется msi).

nnj413

#
6 лет, 10 месяцев назад

Темы:

1

Сообщения:

7

Участник с: 23 июля 2016

В общем, проблему загрузки решил удалив граб и поставив вместо него syslinux ( https://wiki.archlinux.org/index.php/Syslinux#Automatic_Install ), с ним взлетело. Буду благодарен, если кто-то все же расскажет, как решить проблему с грабом, а то осталось некоторое чувство незавершенности.

Natrio

#
6 лет, 10 месяцев назад

(отредактировано

6 лет, 10 месяцев назад)

Темы:

47

Сообщения:

4767

Участник с: 08 января 2011

Ошибка «no such device», выдаваемая ядром linux, означает, что оно не нашло указанного устройства.
Причина – не загружен модуль, либо такого устройства правда не обнаружено.

Если вы не убирали из mkinitcpio.conf хук base , после выдачи этой ошибки вы должны были попасть в аварийный шелл, который вполне позволяет проверить, какие у вас обнаружены дисковые устройства, например, той же командой blkid.

Если устройство таки обнаружено, вы его увидите.
Если нет – значит либо оно не определилось, либо у вас в initramfs нет модуля для него.

Так или иначе, при правильной установке возникновение такой ошибки практически невозможно.

nnj413

#
6 лет, 10 месяцев назад

Темы:

1

Сообщения:

7

Участник с: 23 июля 2016

Если вы не убирали из mkinitcpio.conf хук base , после выдачи этой ошибки вы должны были попасть в аварийный шелл, который вполне позволяет проверить, какие у вас обнаружены дисковые устройства, например, той же командой blkid.

После выдачи этой ошибки меня кинуло в аварийный граб(grub rescue)

Если устройство таки обнаружено, вы его увидите. Если нет – значит либо оно не определилось, либо у вас в initramfs нет модуля для него.

При загрузке с флешки устройство видится и его UUID читается, плюс, при использовании syslinux все работает и без проблем грузится.

vasek

#
6 лет, 10 месяцев назад

(отредактировано

6 лет, 10 месяцев назад)

Темы:

47

Сообщения:

11612

Участник с: 17 февраля 2013

nnj413
После выдачи этой ошибки меня кинуло в аварийный граб(grub rescue)

Natrio же написал

Natrio
после выдачи этой ошибки вы должны были попасть в аварийный шелл, который вполне позволяет проверить, какие у вас обнаружены дисковые устройства

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

Ошибки не исчезают с опытом — они просто умнеют

nnj413

#
6 лет, 10 месяцев назад

Темы:

1

Сообщения:

7

Участник с: 23 июля 2016

Natrio
после выдачи этой ошибки вы должны были попасть в аварийный шелл, который вполне позволяет проверить, какие у вас обнаружены дисковые устройства

Не так понял сообщение. Читал про аварийный граб и пытался из него запуститься в нормальный режим через insmod, но не вышло. Кстати, обратил внимание, что при команде ls он просто выдает список из моих двух дисков (hd0) и (hd1), а вот разделы их почему-то не показывает, хотя исходя из гугления, вполне себе должен показывать. Пытался наугад ему в префикс прописать раздел, пробовал и 0, и 1, но ничего, он почему-то просто не видит эти разделы.

vasek

#
6 лет, 10 месяцев назад

(отредактировано

6 лет, 10 месяцев назад)

Темы:

47

Сообщения:

11612

Участник с: 17 февраля 2013

nnj413
Читал про аварийный граб и пытался из него запуститься в нормальный режим через insmod, но не вышло. Кстати, обратил внимание, что при команде ls он просто выдает список из моих двух дисков (hd0) и (hd1), а вот разделы их почему-то не показывает, хотя исходя из гугления, вполне себе должен показывать. Пытался наугад ему в префикс прописать раздел, пробовал и 0, и 1, но ничего, он почему-то просто не видит эти разделы.

Вроде процедура расписана понятно……….но на всякий случай уточняю в самом общем случае
ls — список доступных разделов
set prefix=(hdN,n)/boot/grub
set root=(hdN,n)
( счет дисков N начинается с 0, а счет разделов n — с 1)
ls /boot
ls /boot/grub
(уточняем/проверяем список нужных файлов и если все нормально, можно идти дальше)
insmod ext2
insmod normal
normal
(и должны попасть в меню/(полнофункциональный режим) Grub и если все нормально, то автоматически должны найтись все операционки, которые можно подгружать)

PS …. если, что не так, Natrio уточнит …….

Ошибки не исчезают с опытом — они просто умнеют

jim945

#
6 лет, 10 месяцев назад

jim945 avatar

Темы:

9

Сообщения:

3151

Участник с: 25 января 2010

Как устанавливал граб?
Он не может прочитать таблицы разделов и, соответственно, префикс, т.к. не загружены соответствующие модули.

Lupus pilum mutat, non mentem.

nnj413

#
6 лет, 10 месяцев назад

Темы:

1

Сообщения:

7

Участник с: 23 июля 2016

Вроде процедура расписана понятно……….но на всякий случай уточняю в самом общем случае
ls — список доступных разделов
set prefix=(hdN,n)/boot/grub
set root=(hdN,n)
( счет дисков N начинается с 0, а счет разделов n — с 1)
ls /boot
ls /boot/grub
(уточняем/проверяем список нужных файлов и если все нормально, можно идти дальше)
insmod ext2
insmod normal
normal
(и должны попасть в меню/(полнофункциональный режим) Grub и если все нормально, то автоматически должны найтись все операционки, которые можно подгружать)

PS …. если, что не так, Natrio уточнит …….

Я читал это и пытался сделать все по инструкции. Но проблема в том, что при ls он выводит (hd0) и (hd1), хотя на диске есть разделы. Т.е. как я понимаю он должен выводить их и там уже методом тыка можно найти нужный и загрузить граб. Мне тут пришла мысль, что может быть он не видит его, т.к. ssd формата M.2. Может быть проблема в этом?

jim945

#
6 лет, 10 месяцев назад

jim945 avatar

Темы:

9

Сообщения:

3151

Участник с: 25 января 2010

nnj413
т.к. ssd формата M.2. Может быть проблема в этом

Попробуй
grub-install —disk-module=native /dev/sdZ

Lupus pilum mutat, non mentem.

ну да, всякое бывает… только тут, как я понимаю, чел ставил винду туда же, где она и стояла, и с хардами не игрался.
кстати, на маппинг дисков (hd0,hd1) можно вообще наплевать, если речь о груб2. там нумерация плавающая, с чего загрузился, то и hd0, сами разработчики говорят, что не шибко стоит на него надеяться. вполне достаточно search -u <uuid> -s, что и используется. более того, у меня ентот самый маппинг вообще отключен (строк с set root нету), и все хорошо.
могу вот что сказать: mbr груба должен быть прописан на том же харде, где находится сам груб (т.е. там, где /boot у системы). ибо тот код, что пишется в мбр, ищет груб на текущем харде, в нем не прописан какой-то конкретный хард, и на других хардах он искать не умеет (подтверждается практикой). кстати, первый груб, как выяснилось, умел из мбр первого харда грузить себя на втором (опять же, подтверждается практикой)
да, при экспериментах лучше вообще грузить груб без конфига как такового, в голую консоль. тогда будет понятно, что не грузится сам груб, а не неправильный конфиг

Sometime you may encounter error messages like Error: no such device: xxxxx-xxxx-xxxx-xxxx-xxxxx  right after powering up the PC.

Such problems are caused by misconfigured GRUB, unable to load any operating system.

Usually happens when you resize, rename or shrink the disk partitions. Or may be even if you transfer a perfectly working hard drive from one PC to another.

But there’s an easy solution to deal with such problems, and here we’ll discuss about it.

Why this is happening?

This grub no such device problem usually happens when the boot drive’s UUID is changed somehow.

Like if you convert a disk drive with MBR partition table to GPT partition table. Another reason of UUID change is if you resize, merge, shrink or extend the linux root partition.

Here GRUB is present as bootloader, but it can’t find the proper modules and configuration file due to changed partition UUID.

To fix this problem, you’ve to determine three things.

First which one is the linux root( / ) partition, second how the system is booted, i.e. in UEFI mode or in legacy BIOS mode.

Third, if it’s booted in UEFI mode, then which is the EFI system partition?

You can use the parted command to determine the ESP partition, which is a FAT32 filesystem of around 100MB.

sudo parted /dev/sda print

Now the actual steps to fix the error no such device problem.

  1. Use the ls command on the grub rescue prompt to list all the partitions.
  2. Then you can use the ls command again to check the contents of each partitions to be sure.
    ls (hd0,1)/

    The linux root partition will contain /bin , /boot, /lib etc. etc directories.

  3. If you’re sure about the linux root partition, then type the commands listed below one by one. In my case, the partition is (hd0,msdos5) .
    set root=(hd0,5)
    set prefix=(hd0,5)/boot/grub
    insmod normal
    normal
  4. Then you should be able to access the GRUB boot menu like before, select the linux distro and boot to it.
  5. After booting, you must be asked to login to your user account.
  6. Next login to the account and open up a terminal window.
  7. Then determine if the system is booted with UEFI mode or legacy BIOS mode, use the one liner script below.
    [ -d /sys/firmware/efi ] && echo "UEFI boot" || echo "Legacy boot"
  8. To reinstall GRUB for legacy BIOS use this command.
    sudo grub-install /dev/sda --target=i386-pc
  9. To re install GRUB on a UEFI based system, use this.
    sudo mount /dev/sda2 /boot/efi     # mount the EFI system partition
    sudo grub-install /dev/sda --target=x86_64-efi --efi-directory=esp
  10. If grub installation reports no problem, then update the GRUB configuration file.error no such device grub rescue
    sudo update-grub
  11. Finally reboot the PC or laptop to check the if it worked at all or not.

Also don’t just copy-paste the commands, your EFI system partition could be different, most probably /dev/sda1 .

Conclusion

It’s not a very well described tutorial to fix the grub rescue no such device issue. But I hope you’ve got basic the idea to deal with the error no such device issue.

First you need to boot linux somehow then reinstall the GRUB bootloader and update the GRUB configuration. Here’s the detailed GRUB rescue tutorial.

If you’ve any question or suggestion, leave comments below.

5 апреля 2010 г.

GRUB

Ubuntu

Linux

Удалось мне немного поломать граб, из-за того что я удалил перед ним стоящий раздел с NTFS, ибо Windows мне уже не нужен. Что и следовало ожидать — появилась проблема:

error: unknown filesystem
grub rescue >

Решение

Вводим команду ls и наблюдаем следующее:

(hd0) (hd0,2) (hd0,3) (hd0,5) (hd0,6)

А теперь set:

prefix=(hd0,6)/boot/grub
root=(hd0,6)

Так как мы сместились на 1 раздел, то сетим на один меньше:

set prefix=(hd0,5)/boot/grub
set root=(hd0,5)

Теперь смотрим доступные моды и подгрузим необходимые нам:

ls /boot/grub
insmod /boot/grub/linux.mod
insmod /boot/grub/normal.mod

Моды можно подгружать и так:

insmod normal

Теперь вбиваем команду normal и попадаем в меню загрузки граба:

normal

После того как вы попадете в систему, выполните:

sudo upgrade-from-grub-legacy

А вообще во всем этом мне помог https://help.ubuntu.com/community/Grub2 и особенно раздел «Rescue Mode».

I think I’ve exhausted all I know to do, so I’m sending up the flares. I’ll try to cover it all (albeit, in pieces), so please be patient.

I decided to install Linux Mint 11 where I previously had Ubuntu 10.10. Before this install, I had a partition with Windows XP, which—at some time in the distant past—I used to dual boot into. I removed the partition in this install.

After installation, the system fails to boot. After the check for a CD/DVD, it prints:

error: no such device: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
GRUB rescue>

There were no problems booting Ubuntu. I seem to recall a similar issue last time I did an install (instead of an upgrade) to Ubuntu. It’s been a while, but I thought I fixed it using FIXMBR and/or FIXBOOT from the XP CD. Those did not work this time.

The GRUB rescue> prompt seems to be broken. Even help doesn’t work. I am able to ls, which yields:

GRUB rescue> ls
(hd0) (hd0,msdos1) (hd1) (hd1,msdos1) (hd2) (hd2,msdos5) (hd2,msdos3) (hd2,msdos2) (hd2,msdos1)

Further, I don’t know what this device is. I can’t find a matching UUID under /dev/disk/by-uuid. For that matter, there are no UUIDs for my booting hard drive (sda, below). My setup is a Frankenbox. I know not to rely on device enumeration in such a mix, but they’re given below for easy discussion.

  • Ch 0 Master: 250GB PATA (sda)
    • sda1
  • Ch 0 Slave: none
  • Ch 1 Master: 80GB SATA (sdb)
    • sdb1: /
    • sdb2: /home
    • sdb3: swap
  • Ch 1 Slave: DVD SATA
  • SATA expansion card: 250GB SATA (sdc)
    • sdc1

I thought I’d struck gold when I discovered some lingering (and confounding) RAID metadata on sda. The drive hadn’t shown up in the Linux install before, but did after using dmraid -r -E /dev/sda. However, the boot failure persisted.

Until just now, I could use the Mint install CD to «Boot from Local Drive», which would indeed take me to my installation on sdb1. After using the CD to boot to the drive, and running the below, I’ve worsened the problem to giving a GRUB> prompt instead of booting to the drive.

# GRUB-install --no-floppy /dev/sdb1
# update-GRUB
GRUB> find /boot/GRUB/stage1
GRUB> root (hd1,0) # result of above
GRUB> setup (hd0)

There’s definitely a mismatch, because sdb, which has 3 partitions, seems to be (hd2) at the GRUB rescue> prompt, but (hd1) when actually booted. However, if I’ve used UUIDs (and I think I have), this shouldn’t be a problem. Using the live CD, I see sdb1:/boot/GRUB/menu.list to contain

# kopt=root=UUID=[UUID of sdb1]
...
# groot=[UUID of sdb1]

The root problem, as I understand it, is that GRUB is, for some reason I don’t understand, trying to boot a device that doesn’t exist. I don’t know how to determine what it’s looking for by the UUID given. I don’t see any UUIDs for anything on sda.

And now, I can’t even boot to the drive using the CD.

Update:

I thought putting the /boot partition on the same drive as the MBR might help, so I added sda2, set the boot flag, and reinstalled (which is probably overkill).

I again get the grub rescue> prompt, but now, when I ls, I get

grub rescue> ls
(hd0) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1) (hd2) (hd2,msdos3) (hd2,msdos2) (hd2,msdos1)

So, sda is no more (hd0) at this prompt than sdb is (hd1). I don’t know why it’s so misaligned, nor why it matters. I may try again, putting /boot on sdc/(hd0).

Hi bcbc, thanks for your help.

These are the results of the bootinfoscript:

Boot Info Script 0.60 from 17 May 2011

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

=> Syslinux MBR (4.04 and higher) is installed in the MBR of /dev/sdc.
=> Grub2 (v1.99) is installed in the MBR of /dev/mapper/isw_dffiejdfai_ARRAY1
and looks at sector 1 of the same hard drive for core.img. core.img is at
this location and looks in partition 5 for /boot/grub.

sdc1: __________________________________________________ ________________________

File system: vfat
Boot sector type: SYSLINUX 4.04 2011-04-18
Boot sector info: Syslinux looks at sector 2112440 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: /boot/grub/grub.cfg /syslinux/syslinux.cfg /ldlinux.sys

isw_dffiejdfai_ARRAY11: __________________________________________________ ______

File system:
Boot sector type: Unknown
Boot sector info:
Mounting failed: mount: unknown filesystem type »

isw_dffiejdfai_ARRAY12: __________________________________________________ ______

File system:
Boot sector type: Unknown
Boot sector info:
Mounting failed: mount: unknown filesystem type »
mount: unknown filesystem type »

isw_dffiejdfai_ARRAY13: __________________________________________________ ______

File system:
Boot sector type: Unknown
Boot sector info:
Mounting failed: mount: unknown filesystem type »
mount: unknown filesystem type »
mount: unknown filesystem type »

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

Drive: sdc __________________________________________________ ___________________

Disk /dev/sdc: 16.0 GB, 16001036288 bytes
32 heads, 63 sectors/track, 15501 cylinders, total 31252024 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 * 63 31,250,015 31,249,953 b W95 FAT32

Drive: isw_dffiejdfai_ARRAY1 __________________________________________________ ___________________

Disk /dev/mapper/isw_dffiejdfai_ARRAY1: 2000.4 GB, 2000405397504 bytes
255 heads, 63 sectors/track, 243202 cylinders, total 3907041792 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/mapper/isw_dffiejdfai_ARRAY11 63 80,324 80,262 de Dell Utility
/dev/mapper/isw_dffiejdfai_ARRAY12 * 81,920 27,865,087 27,783,168 7 NTFS / exFAT / HPFS
/dev/mapper/isw_dffiejdfai_ARRAY13 27,865,088 3,702,237,183 3,674,372,096 7 NTFS / exFAT / HPFS

«blkid» output: __________________________________________________ ______________

Device UUID TYPE LABEL

/dev/loop0 squashfs
/dev/mapper/isw_dffiejdfai_ARRAY1p1 5450-4444 vfat DellUtility
/dev/mapper/isw_dffiejdfai_ARRAY1p2 82DA4512DA4503BF ntfs RECOVERY
/dev/mapper/isw_dffiejdfai_ARRAY1p3 D4F84A64F84A44C8 ntfs OS
/dev/sda isw_raid_member
/dev/sdb isw_raid_member
/dev/sdc1 64ED-5B1A vfat PENDRIVE

========================= «ls -R /dev/mapper/» output: =========================

/dev/mapper:
control
isw_dffiejdfai_ARRAY1
isw_dffiejdfai_ARRAY1p1
isw_dffiejdfai_ARRAY1p2
isw_dffiejdfai_ARRAY1p3

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

Device Mount_Point Type Options

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

=========================== sdc1/boot/grub/grub.cfg: ===========================

———————————————————————————

if loadfont /boot/grub/font.pf2 ; then
set gfxmode=auto
insmod efi_gop
insmod efi_uga
insmod gfxterm
terminal_output gfxterm
fi

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

menuentry «Try Ubuntu without installing» {
set gfxpayload=keep
linux /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash —
initrd /casper/initrd.lz
}
menuentry «Install Ubuntu» {
set gfxpayload=keep
linux /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity quiet splash —
initrd /casper/initrd.lz
}
menuentry «Check disc for defects» {
set gfxpayload=keep
linux /casper/vmlinuz boot=casper integrity-check quiet splash —
initrd /casper/initrd.lz
}
———————————————————————————

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

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

# If you would like to use the new menu and be presented with the option to install or run from USB at startup, remove # from the following line. This line was commented out (by request of many) to allow the old menu to be presented and to enable booting straight into the Live Environment!
# ui gfxboot bootlogo
———————————————————————————

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

GiB — GB File Fragment(s)

?? = ?? boot/grub/grub.cfg 1

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

GiB — GB File Fragment(s)

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

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

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

======================== Unknown MBRs/Boot Sectors/etc: ========================

Unknown BootLoader on isw_dffiejdfai_ARRAY11

Unknown BootLoader on isw_dffiejdfai_ARRAY12

Unknown BootLoader on isw_dffiejdfai_ARRAY13

========= Devices which don’t seem to have a corresponding hard drive: =========

sdd sde sdf sdg

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

unlzma: Decoder error
/home/ubuntu/Desktop/boot_info_script.sh: line 1579: [: 2.73495e+09: integer expression expected
hexdump: /dev/mapper/isw_dffiejdfai_ARRAY11: No such file or directory
hexdump: /dev/mapper/isw_dffiejdfai_ARRAY11: No such file or directory
hexdump: /dev/mapper/isw_dffiejdfai_ARRAY12: No such file or directory
hexdump: /dev/mapper/isw_dffiejdfai_ARRAY12: No such file or directory
hexdump: /dev/mapper/isw_dffiejdfai_ARRAY13: No such file or directory
hexdump: /dev/mapper/isw_dffiejdfai_ARRAY13: No such file or directory

I have got a machine with Windows and Linux Mint. Now that I needed to upgrade my Mint because I needed the new fixes, I cannot boot. I get the error message no such device, grub rescue. My guess is that the disk id has been changed and grub cannot find it. I do not remember where I originally installed the grub. The output from fdisk:

Disk /dev/sda: 256.1 GB, 256060514304 bytes
255 heads, 63 sectors/track, 31130 cylinders, total 500118192 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5e24ae5b

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda2          206848   500115455   249954304    7  HPFS/NTFS/exFAT

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x5e24ae82

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        2048   929521663   464759808    7  HPFS/NTFS/exFAT
/dev/sdb2       929523710  1953523711   512000001    5  Extended
Partition 2 does not start on physical sector boundary.
/dev/sdb5       929523712  1887181915   478829102   83  Linux
/dev/sdb6      1887184896  1953523711    33169408   82  Linux swap / Solaris

I have searched the forums and ran the grub-install on /dev/sdb1. Still getting the same error. However, during startup when I change the boot disk to the second one (/dev/sdb1), I am able to boot, and even to the old Windows I had. My yet another guess is that if I do grub-install on /dev/sda1, it will fix my problem, but I am hesitating doing so because I cannot and must not lose data on that partition.

So, my question is: Is it safe to do grub-install /dev/sda? How do I check if the old grub was installed there, the one that is not able to boot?

  • Печать

Страницы: [1] 2  Все   Вниз

Тема: ERROR: no such devices. Entering rescue mode…  (Прочитано 4861 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
damascus81

Проблема заключается в следующем: Недели 3-4 назад установил Ubuntu рядом с виндовс, но на разных физических дисках, так что при загрузке компа у меня спрашивают, с какой мне системы загрузиться. Я перестал загражаться с убунты, так как была проблема со звуком. Моя звуковая карта не поддерживается линуксом.Но пользоваться все равно хочется. Воткнул колонки в строенную звуковую и загрузился с убунты. Звук заработал, но за те 2 недели, которые я не пользовался убунтой — прилетела куча обновлений. Установил все и начал разбираться с установкой программ. Поставил другой музыкальный плеер и google chrome. После этого Ubuntu напрочь зависла. перезагрузил комп и в итоге такое сообщение: ERROR: no such devices. Entering rescue mode… почитал немного по форумам, но ситуация немного не такая. После этой надписи, строчкой ниже написано: grub rescue> и мигающий курсор. Не нажимается ни одна кнопка, кроме ресет и кнопка питания. При перезагрузке компа не нажатие кнопки DEL в биос не заходит. Если нажимаю F11, чтобы выбрать с какого носителя загружаться, тоже ничего не происходит и опять появляется: ERROR: no such devices. Entering rescue mode… Замкнутый круг. Есть какие-нибудь соображения по этому поводу?


Оффлайн
it0r

физически отсоединить диск с Ubuntu можешь?

ТУТ — это дерево. А ЗДЕСЬ — это МЕСТО…. Так что ТУТ — это не ЗДЕСЬ.


Оффлайн
damascus81

Просто вынуть сата и питание? или вообще вытащить? И то и другое без проблем


Оффлайн
it0r

шнурки откинь и попробуй перезагрузиться

ТУТ — это дерево. А ЗДЕСЬ — это МЕСТО…. Так что ТУТ — это не ЗДЕСЬ.


Оффлайн
damascus81

Все то же самое и осталось. ничего не поменялось.


Оффлайн
it0r

с отброшенным диском Ubuntu, на виндовом, в биос также не можешь войти?


Пользователь решил продолжить мысль [time]08 Август 2015, 23:33:43[/time]:


флешки никакие не воткнуты в юсб?
диск не стоит в дисководе?


Пользователь решил продолжить мысль 08 Августа 2015, 22:34:11:


ноут или системник?

« Последнее редактирование: 08 Августа 2015, 22:34:11 от it0r »

ТУТ — это дерево. А ЗДЕСЬ — это МЕСТО…. Так что ТУТ — это не ЗДЕСЬ.


Оффлайн
damascus81

Системник, и не хилый. Были воткнуты флешка с дистрибутивом убунты и пустой кардридер. Вынул все, перезагрузился и то же самое. И еще заметил такую странность: у меня клавиатура лоджитек г910. Она всегда при перезагрузке начинала светиться всеми цветами радуги, а сейчас не светится.


Оффлайн
it0r

системник не реагирует на клаву…
клава юсб?

попробовал сейчас на своем системнике (древний правда, лет 5 ему): отключил все HDD, все флехи убраны, CD-DVD — убраны.
т.е. кроме монитора ничего не подключено.
включил кн. питания — на мониторе, после логотипа Bios, пошел запрос Boot CD.

попробуй — что у тебя запросит?


Пользователь решил продолжить мысль 08 Августа 2015, 23:03:41:


далее, воткнул загрузочную флеху с Ubuntu — загрузилась.

« Последнее редактирование: 08 Августа 2015, 23:03:41 от it0r »

ТУТ — это дерево. А ЗДЕСЬ — это МЕСТО…. Так что ТУТ — это не ЗДЕСЬ.


Оффлайн
damascus81

клава естественно юсби. Они все современные с юсб делаются. Пробовал другуб клаву, и вставлял в другой юсб — толку ноль. Ральше при перезагрузке логотип держался дольше на экране, хоть можно было успеть прочитать, какие кнопки там внизу нажать можно. А сейчас этот логотип появляется на какие-то доли секунды. Отключил впринципе почти все. Остались только клава, мышь,веб-камера и колонки. Может переткнуть диски? всмысле отключенный подключить, а этот выключить?


Оффлайн
it0r

в теории и на практике кн. питания подает питание на все железо, далее биос выдает заложенные в нем настройки железу же и передает управление загрузчику первого сектора диска, определенного первым в приоритетах биоса (с uefi несколько по другому, но принцип — тот же).
отключай все, колонки, клаву, все кроме монитора — биос запросит загрузку?

ТУТ — это дерево. А ЗДЕСЬ — это МЕСТО…. Так что ТУТ — это не ЗДЕСЬ.


Оффлайн
damascus81

ща посмотрим


Пользователь решил продолжить мысль [time]09 Август 2015, 00:57:21[/time]:


Спасибо за умные мысли. Оказывается это я себя дураком выставил. Не знаю каким образом, но в биосе пока лазил, что-то случайно включил, и пошла эта проблема. Сейчас все загрузилось. Но хром какой-то корявый поставил, зависает и за ним Ubuntu виснет. Но это уже другая тема. Спасибо. Буду дальше лазить по форуму и обогащаться.

« Последнее редактирование: 08 Августа 2015, 23:59:29 от damascus81 »


Оффлайн
it0r

загрузился с внешнего насителя или уже с дисков?

ТУТ — это дерево. А ЗДЕСЬ — это МЕСТО…. Так что ТУТ — это не ЗДЕСЬ.


Оффлайн
damascus81

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


Оффлайн
it0r

… и нашел эту бяку…

как называется бяка?

ТУТ — это дерево. А ЗДЕСЬ — это МЕСТО…. Так что ТУТ — это не ЗДЕСЬ.


Оффлайн
damascus81

у меня стоит семерка. А в биосе есть такой пунт, который отвечает за поддержку виндовс 8. вот там и тыкунул видимо случайно. Изменил и все пошло.


  • Печать

Страницы: [1] 2  Все   Вверх

Grub представляет собой универсальный загрузчик для Linux и других ОС. Например, с его помощью пользователь может иметь несколько операционных систем на одном компьютере, выбирая при включении нужную систему для загрузки. Но в некоторых случаях пользователь сталкивается с ошибкой Grub Rescue Unknown Filesystem.

maxresdefault_1024x576_1-1801-d9ce33.jpg

Почему возникает эта ошибка?

Причины разные: например, загрузочные файлы отсутствуют либо они были перемещены. Кроме того, метрики раздела /boot могли быть изменены либо этот раздел был отформатирован, то есть он больше не существует.

Прежде всего, надо понимать, что Grub инсталлируется в 2 места. Одно из них — таблица разделов MBR. Тут места немного, поэтому весь загрузчик сюда не помещается. Однако он обладает модульной структурой, то есть все основные модули, ресурсы и конфигурационные файлы размещаются на обычном разделе (монтируется после загрузки в /boot). При этом программа в MBR «помнит», в каком месте располагается раздел /boot, однако если с данным разделом что-либо произойдет, то программа не загрузит привычные модули, следовательно, появится ошибка unknown filesystem. Значит все это следующее: если раздел уже не существует, остается лишь брать LiveCD диск и выполнять переустановку загрузчика. Если же раздел просто изменен, то есть возможность исправить ситуацию.

Как исправить?

Прежде всего, воспользуйтесь командой ls, чтобы узнать список доступных разделов:


grub3_1-1801-c4b850.png

Далее просмотрите содержимое каждого раздела — это позволит понять, где именно располагаются файлы модулей, пример:


grub2_1-1801-4720ca.png

Если увидели папку boot, то это нужный раздел. Далее инсталлируем данный раздел значением переменной root и посредством команды set:


set prefix=(hd0,1)/boot/grub

Потом загружаем и запускаем модуль normal — он загрузит все, что необходимо:



grub4_1-1801-53051f.png

Если раздел /boot поврежден не был, загрузчик корректно определит все файлы и запустит привычное меню. Конечно же, после загрузки надо будет восстановить загрузчик Grub для того, чтобы не вводить вышеописанные команды при каждой загрузке ОС. Если же вышерассмотренным способом проблему решить не удастся, придется пройти процедуру переустановки загрузчика с помощью LiveCD-диска.

По материалам блога https://losst.ru/.

Содержание

  1. Что делать при ошибке GRUB Rescue?
  2. Как восстановить загрузчик GRUB?
  3. Подводим итоги
  4. Ошибка grub rescue unknown filesystem
  5. Как исправить Grub unknown error
  6. Выводы
  7. Решения и тщетные попытки все исправить

У тех пользователей, которые установили сразу Windows и Linux, часто появляется ошибка GRUB Rescue, связанная с нарушением работы загрузчика. После запуска компьютера отсутствует возможность выбора нужной операционной системы. Проблему всегда можно решить обычной переустановкой Linux, но есть более простые варианты, не требующие столь кардинальных мер.

Что делать при ошибке GRUB Rescue?

Загрузчик GRUB имеет модульную структуру. Все конфигурационные файлы и базовые модули находятся в обычном разделе на жестком диске. Однако первичные данные хранятся непосредственно в главной загрузочной записи. Если информация там будет изменена, то меню с выбором операционных систем не появится. Компьютер просто выдаст ошибку о загрузке. Перезапись данных часто является следствием установки Windows после Linux, а не наоборот.

Вариант решения проблемы:

  1. В терминале всегда можно ввести определенные команды. Чтобы ознакомиться с ними, нужно набрать $help.
  2. Можно заметить, что в арсенале имеется команда ls, которая позволяет посмотреть список имеющихся каталогов. Ее и нужно ввести.
  3. С ее помощью также следует проверить появившиеся каталоги, чтобы понять, в каком месте располагаются файлы модулей. Пример: ls (hd0,1)/.
  4. В каком-то из разделов должна находиться папка boot. Дальше вводятся следующие команды: первая – $setroot=(hd0,1), вторая – $setprefix=(hd0,1/boot/grub).
  5. В самом конце необходимо запустить модуль normal, позволяющий осуществить загрузку. Сначала требуется ввести: $ insmod normal, а после — $ normal.

Справка: у многих пользователей не заряжается аккумулятор ноутбука. Причин может быть несколько. Перед обращением в сервис можно попытаться самостоятельно решить проблему.

Как восстановить загрузчик GRUB?

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

Первый из них предполагает взаимодействие с системой через терминал:

  1. Требуется загрузить Linux с того носителя, который использовался при инсталляции. Иногда необходимо войти в БИОС, чтобы включить загрузку с диска или флешки.
  2. Далее стоит открыть терминал, нажав комбинацию клавиш Ctrl + Alt + T, и вывести существующие разделы на экран посредством команды sudofdisk —i.
  3. После этого появится таблица с каталогами. Нужно найти корневой раздел и смонтировать его. Для этого следует ввести sudomount /dev/sda5/mnt. Вместо sda5 требуется прописать имя конкретного раздела. Он может отличаться.
  4. Восстановить загрузчик помогает команда sudo grub-install – root-directory=/mnt /dev/sda.
  5. В самом конце нужно ввести sudo reboot для перезагрузки.

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

  • первая – sudo add-apt-repository ppa^yannubuntu/boot-repair;
  • вторая – sudo apt-get update;
  • третья – sudo apt-get install boot-repair.

Интересно: иногда пользователи не могут включить камеру на ноутбуке после загрузки операционной системы. Это не значит, что она сломана. Часто все проблемы кроются в программном обеспечении.

Подводим итоги

Если при загрузке компьютера появляется ошибка GRUB Rescue, то стоит понимать, что неисправность касается именно загрузчика, а не конкретной операционной системы. После его восстановления все начнет работать в том же режиме, что и ранее. Никакие файлы на жестком диске не будут уничтожены или изменены.

Grub — это универсальный загрузчик, который используется для загрузки операционной системы Linux и других ОС, в случае, если на компьютере установлен Linux. Но когда вы выполняете какие-либо действия с разделами на диске, например, восстанавливаете их с помощью Clonezilla, изменяете размер или что-то другое, что Grub может быть поврежден.

Часто такие повреждения приводят к ошибке grub rescue unknown filesystem. Тогда перед вами не появляется меню, а только сообщение про ошибку и консоль восстановления для ввода команд. В этой небольшой статье мы рассмотрим как исправить эту ошибку.

Ошибка grub rescue unknown filesystem

Ошибка grub rescue unknown filesystem может возникать по разным причинам вот самые распространенные причины:

  • Вы восстанавливали диск из Clonezilla и были изменены метрики раздела /boot;
  • Раздел /boot был отформатирован и больше не существует;

Дело в том, что Grub устанавливается в два места. Первое — место в таблице разделов MBR. Там очень мало места, около 512 байт, а следовательно, весь загрузчик туда поместиться не может. Поэтому Grub имеет модульную структуру и все основные модули, конфигурационные файлы и ресурсы располагаются на обычном разделе, который монтируется после загрузки в /boot. Причем программа в MBR помнит где находится раздел /boot, но если с этим разделом что-то произойдет и программа не сможет загрузить привычные модули, то выдаст ошибку uncnown filesystem. Если раздела больше нет, то вам останется только брать LiveCD диск и переустанавливать загрузчик, если же раздел просто немного изменен, то еще можно все исправить.

Как исправить Grub unknown error

У вас есть простейший терминал с самой простой командной оболочкой. Чтобы знать какие команды можно там вводить наберите:

Дальше нам нужно посмотреть список доступных разделов, для этого используется команда ls, как в bash:

Без модулей grub поддерживает только ту файловую систему, которая была на /boot. Вы можете попытаться просмотреть содержимое каждого раздела чтобы определить где находятся файлы модулей. Например:

Если вы увидели папку boot, значит это наш раздел. Дальше устанавливаем этот раздел значением переменной root с помощью команды set:

set root=(hd0,1)
set prefix=(hd0,1)/boot/grub

Загружаем и запускаем модуль normal, который должен загрузить все, что нам необходимо:

insmod normal
normal

Если раздел /boot не был поврежден, то загрузчик нормально определит все файлы, а потом запустит привычное для вас меню. Конечно, после того, как система загрузится, вам будет необходимо восстановить загрузчик Grub чтобы не вводить эти команды при каждой загрузке системы.

Выводы

В этой статье мы рассмотрели почему возникает ошибка error unknown filesystem grub rescue и что делать grub rescue, когда вы видите это сообщение. Да, во многих случаях у вас уже не получится загрузить систему без LiveCD диска. Но иногда все можно спасти. Надеюсь, эта информация была полезной для вас.

Данная статья рассказывает историю моих о мучениях и за одно несет в себе полезную информацию для тех, кто столкнулся с такой же проблемой «no such partition grub rescue». Часть с установкой, софтом и прочем будет сильно урезана, ибо статья не об этом. Итак, поехали!

Началось все с того, что захотелось мне после прочтения очередного номера журнала про линукс посмотреть вживую на все нововведения, ибо в последние годы не пользовался линукс дистрибутивами и сидел полностью на окнах. И вот скачал самый популярный дистрибутив Ubuntu, оторвал от диска D 100Гб на новый раздел L, установил, поигрался.

Надоело, поставил вместо него более любимый мною дистрибутив Linux Mint, поигрался, и вот решил сносить все это через пару дней.

Загружаюсь в Windows, управление дисками, раздел L – удалить, диск D расширить и возвращаю диску обратно его родные 100Гб.

Перезагружаюсь…BIOS…ASUS…error: no such partition grub rescue. Перезагружаюсь опять, BIOS – перепроверяю все настройки. Все верно, сохранить и перезагрузить. И опять после BIOS идет error: no such partition grub rescue. Ни выбора системы, ни возможности загрузить Windows. Сразу пошел за ноутом и гуглить.

Grub — это загрузчик систем, который устанавливается с Linux и пишет всю нужную информацию на самый первый раздел на диске — MBR (master boot record). А его файлы размещаются на диске с системой Linux

Решения и тщетные попытки все исправить

Для начала, если есть желание удалить любой дистрибутив линукс, лучше прочтите, как это правильно делать. А не так, как я – удалить рездел и думать, что все так просто.

Если же вы не удаляли линукс, но получили эту ошибку «error: no such partition grub rescue>», то все можно легко исправить, указав в новый раздел и папку на нем с файлами GRUB подобной информации полно на форумах. Но в моём случае это не подходило, ибо удален не просто сам линукс, но и раздел на котором он был и возвращен к диску D. Ищу дальше и, натыкаясь на статью, что такую ошибку исправить можно 2 способами:

— исправить раздел MBR с помощью загрузочного диска Windows;
— исправить раздел MBR с помощью live CD с Linux.

У меня уже была флешка с Linux Mint – с нее и загрузился и выбрал «Попробовать Mint».
Открываем терминал (Ctrl+Alt+T) и пишем:

sudo apt-get install lilo ждем установки, далее sudo lilo -M /dev/sda mbr

После перезагружаемся и все должно работать, очень многим этот способ помог, но не мне. Выдавало на 2-й команде ошибку. Начал искать еще способы и наткнулся на пост о том, что можно запустить установку windows и на моменте управления дисками, удалить все разделы, включая «Зарезервировано системой» — и это свободное место преобразовать в новый раздел. Оставить только раздел с окнами и D. Записал образ, запустил установку, удалил все разделы, создал на их месте новый один раздел. Перезагрузка — no such partition grub rescue.

Хоть этот способ и многим помог, но опять же — только не мне. Идем дальше:

Запустить восстановление системы с диска/флешки, отрыть дополнительные параметры, консоль и там ввести bootrec.exe /fixmbr . Написало, что все выполнено успешно. Перезагрузка — no such partition grub rescue. Психанул запустил установку Windows и удалил все разделы, кроме D, создал один новый и переустановил систему. Все заработало.

P.S. Хоть я и не смог решить проблему «деликатными» методом, но по отзывам эти методы помогали большинству. Надуюсь, помогут и вам при такой проблеме. И вам не придется все переустанавливать.

Спасибо за внимание.

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


0

1

Здравствуйте. У меня стоит линукс Manjaro kde, поставил windows и она как обычно снесла граб. Пошел восстанавливать граб, но в почему то сейчас при попытке загрузиться в windows пишет ошибку.

Фото: https://ibb.co/1s0VHty

Если подождать несколько секунд или нажать enter то будет какая та дичь висеть и все.

Фото: https://ibb.co/4MwsPgw

Как мне поставить grub что бы все работало?

Понравилась статья? Поделить с друзьями:
  • Ошибка предполагается наличие объекта код 800a138f
  • Ошибка при http запросе к серверу
  • Ошибка при cout в с
  • Ошибка при connect к mysql
  • Ошибка при chkdsk 766f6c756d652e63 470