Arch LinuxはUSBディスクから起動できません(選択したパーティションをマウントできません)

Arch LinuxはUSBディスクから起動できません(選択したパーティションをマウントできません)

USBスティックにArch Linuxをインストールしてみました。状況は少し奇妙ですが(たとえば、システム内にドライブが1つしかないとします)、すべてがうまくインストールされます。再起動するまで。

  Booting 'Arch Linux'

root (hd1,1)
 Filesystem type unknown, partition type 0x7
kernel /boot/vmlinuz26 root=/dev/dsb2 ro

Error 17: Cannot mount selected partition

( /dev/dsb1/ は(hd1,0)データ保存の目的で使用される小さな FAT パーティションです。ロックされたラボ コンピュータに適しています。)

これは「Arch Linux」コマンドの順序です。

root (hd1,1)
kernel /boot/vmlinuz26 root=/dev/dsb2 ro
initrd /boot/kernel26.img

グラップコンソールから:

grub> root (hd1,1)
 Filesystem type unknown, partition type 0x7
grub> cat /etc/passwd
 Error 17: Cannot mount selected partition
grub> root (hd0,1) # my ubuntu partition
 Filesystem type is ext2fs, partition type 0x73
grub> cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
<snip/>

ホストOSであるUbuntuで正常に再起動でき、ディスクユーティリティを使用してパーティション化が成功したことを確認しました。またsudo kvm /dev/dsb、起動コマンドを編集するとroot (hd0,1)(つまり、Archがマウントを試みるまで/dev/dsb2)、Archは正常に起動します。

私は何が間違っていましたか?

編集1

Ubuntuでは、fdisk -l /dev/sdb以下を提供しています。

Disk /dev/sdb: 1998 MB, 1998585856 bytes
62 heads, 62 sectors/track, 1015 cylinders
Units = cylinders of 3844 * 512 = 1968128 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1          65      124899    b  W95 FAT32
/dev/sdb2   *          66        1015     1825900   83  Linux

今読んだ関連ウィキセクションしかし、何も適用されないようです。私はGPartedまたは論理ドライブを使用せず、すべてが同じパーティションにあります。

答え1

この場合、最初に確認する必要があるのは、正しいディスクから起動しようとしていることです。ディスクの順序は、いくつかの要因によって異なります。

  • Grub1では、2つのハードドライブにのみアクセスできました。これは BIOS インターフェイスの制限です。実際に入手できる2つのハードドライブは、BIOS設定(「起動順序」などの検索)と、実際に利用可能なディスクや他のハードドライブに似た起動可能なメディア(USBフラッシュドライブなど)によって異なります。

  • sdaLinuxでは、背後の順序はsdbドライブが検出される順序によって異なり、通常は起動時にドライバがロードされる順序によって異なります。また、特定のディスクがカーネル設定オプションとudev設定として表示されるかどうかによって異なりますsd?hd?

ここで、Grubはタイプ7のパーティションを報告します。 LinuxとGrubはパーティションタイプには興味がありませんが(拡張パーティションなどの「コンテナ」パーティションを除く)、Linuxファイルシステムをタイプ7パーティション(fdiskで説明HPFS/NTFS)に配置することは一般的ではありません。したがって、私の考えでは、BIOSが提供する2番目のブートドライブ(Grub's hd1)は、ブートしたいディスクではなく、Windowsパーティションを持つ別のディスクのようです。hd0これが起動したいドライブであることを確認してください。そうでない場合は、BIOS設定を変更する必要があります。

Grubがパーティションのファイルシステムを認識したら、次のように入力してcat (hd1,1)/キーを押して、Tabその中にどのファイルがあるかを確認できます。これは、Grubプロンプトで迷子になったと感じたときに持っているファイルシステムを確認する一般的な方法です。


2番目にチェックする必要があるのは、アクセスするパーティションが正しいパーティションであることを確認することです。 Grub1は0から計算を開始し、LinuxとGrub2は1から計算を開始します。異常な状況(BSDのインストールなど)により、追加の問題が発生する可能性があります。論理区画を追加または除去すると、既存の区画の番号が直感的でない方法で再割り当てされることがあります。

正しいディスクに正しいパーティションがある場合、Filesystem type unknownそのパーティションにはGrubバージョンでサポートされているファイルシステムは含まれていません。 Grub1は、btrfsを除く一般的なLinuxファイルシステム(ext2以降、reiserfs、xfs、jfs)をサポートしています。 Grub1 は LVM または RAID もサポートしていません (読み込み時に通常のボリュームのように見えるため、ミラーリングされる RAID-1 を除く)。

答え2

ここでは、grub2とUUIDを使用することをお勧めします。

UUIDは次のようにして取得できます。

ls -l /dev/disk/by-uuid

関連情報