システムクラッシュ(ハードリスタートが原因)の後、Ubuntu linuxが起動せず、現在表示されています:
error: uknown filesystem
grub rescue>
私が試したソリューション:
grub rescue>ls
(hd0) (hd0,msdos5) (hd0) (hd0,msdos1)
grub rescue>ls (hd0,msdos5)
error: uknown filesystem
grub rescue>ls (hd0,msdos1)
error: uknown filesystem
だから、Linuxファイルシステムをリスト/見つけることができません、、、、
Ubuntu Live USBにインストールされたBoot Repairを試してみることにしましたが、推奨される修復ボタンはなく、-詳細オプションはありませんでした。 BootInfoサマリーの作成というボタンが1つだけありました
最新バージョンのUbuntuのライブバージョンとLinux Secure RemixでBootRepairを試しましたが、どちらもUSBで焼いたLIVEエディションです-同じ結果です。
また、Linux Secure Remix上のOS-Uninstallerは、OSが見つからない/インストールされていないことを示しています。
別のPCで同じLinux Secure Remixを試しましたが、少なくとも推奨される修復があります。だから私は問題が私のHDDまたはMBRにあると思う。
いくつかの応答の後、私は試しました
root@ubuntu:/home/ubuntu# Sudo fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 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: 0xebd671ce
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 302815231 151406592 83 Linux
/dev/sda2 302817278 312580095 4881409 5 Extended
/dev/sda5 302817280 312580095 4881408 82 Linux swap / Solaris
Disk /dev/sdb: 8021 MB, 8021606400 bytes
110 heads, 46 sectors/track, 3096 cylinders, total 15667200 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: 0x04030201
Device Boot Start End Blocks Id System
/dev/sdb1 * 10392 15667199 7828404 b W95 FAT32
root@ubuntu:/home/ubuntu# Sudo mount /dev/sda1 /mnt
mount: you must specify the filesystem type
root@ubuntu:/home/ubuntu# blkid
/dev/loop0: TYPE="squashfs"
/dev/sda5: UUID="ce99d1c7-16fd-4b60-b0af-af6a14b8bdbe" TYPE="swap"
/dev/sdb1: LABEL="DANAIL" UUID="4ED6-708D" TYPE="vfat"
Ext3、ext4、vfat、autoの異なるタイプを試しましたが、結果はすべてのタイプで同じです:
root@ubuntu:/home/ubuntu# Sudo mount -t ext4 /dev/sda1 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/sda1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
root@ubuntu:/home/ubuntu# dmesg | tail
[ 2424.052221] SQUASHFS error: Can't find a SQUASHFS superblock on sda1
[ 2620.531816] EXT4-fs (sda1): VFS: Can't find ext4 filesystem
[ 2626.204025] EXT3-fs (sda1): error: can't find ext3 filesystem on dev sda1.
[ 2626.208650] EXT4-fs (sda1): VFS: Can't find ext4 filesystem
[ 2626.208938] FAT-fs (sda1): bogus number of reserved sectors
[ 2626.208943] FAT-fs (sda1): Can't find a valid FAT filesystem
[ 2626.209377] SQUASHFS error: Can't find a SQUASHFS superblock on sda1
[ 2635.692959] EXT2-fs (sda1): error: can't find an ext2 filesystem on dev sda1.
[ 2644.614887] FAT-fs (sda1): bogus number of reserved sectors
[ 2644.614894] FAT-fs (sda1): Can't find a valid FAT filesystem
root@ubuntu:/home/ubuntu# mount
/cow on / type overlayfs (rw)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
/dev/sdb1 on /cdrom type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/dev/loop0 on /rofs type squashfs (ro,noatime)
none on /sys/fs/Fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
gvfsd-Fuse on /run/user/ubuntu/gvfs type Fuse.gvfsd-Fuse (rw,nosuid,nodev,user=ubuntu)
最後に、解決策は、壊れた/dev/sda1
システムでfsck
を実行することであることがわかりました。問題はgrubではなくファイルシステムにあります。それが、grubがファイルシステムを見ることができない理由です。ありがとうございました!
これは可能な解決策ですが、ルートパーティションがさらに破損しないように、使用しないでください。コマンドの実行:fsck -t ext4 /dev/sda1
このプログラムは、破損したファイルシステムでエラーを検索して修復しようとします。 ext4を実際のファイルシステムに置き換えます。ファイルシステムを知っている必要があります。そうしないと、パーティションがさらに破損します。詳細については、 this thread を参照してください。
この質問には答えがありますが、私のために働いた問題を解決する別の方法があります。手順は、この痛いビデオで説明されています: http://www.youtube.com/watch?v=ZcbTgMKpVHQ つまり、Grub2を修復するのではなく、完全に再インストールします。
このビデオは見るのがとてもつらいので、以下の手順をリストします(ビデオを見るのがどれだけ苦痛であるかに関係なく)
ctrl
+ alt
+ T
で端末を起動し、mount
コマンドを使用してパーティションの名前を見つけます。Sudo mkdir /media/ubuntu
。次に、そのフォルダにパーティションをマウントします。 Sudo mount /dev/sdxx /media/ubuntu
ここで、xx
of sdxx
はステップ3で決定されます。次のディレクトリを、ライブcd/usbのルートディレクトリからUbuntuのバージョンのルートディレクトリのディレクトリにバインドします。ディレクトリは、dev
proc
およびsys
です。次のコマンドを使用してください。
Sudo mount --bind /dev /media/ubuntu/dev
Sudo mount --bind /sys /media/ubuntu/sys
Sudo mount --bind /proc /media/ubuntu/proc
ルートディレクトリをubuntuパーティション上のものに変更します。 Sudo chroot /media/ubuntu/
Sudo grub-install /dev/sdx
を実行してくださいそして、それがlive-cd/usbを使用してgrubを修正する方法です。このメソッドは、youtubeユーザーcrazytechzoneによって開発されました。
parted -l
出力は、ブートパーティションが/ dev/sda1であることを明確に示しています。これは、grubを修正するための一部のNice GUIアプリケーションでは認識されない場合があります。
最も簡単な解決策は、コマンドラインからgrubを再インストールすることです。 このページ で指定されたコマンドに従ってください。すぐに起動して実行できるはずです。ページが/dev/sda1
を使用している場合は常に/dev/sdax
を使用することを忘れないでください。