私はLFS(最初からLinux)を作成しました。すべてのファイルはセカンダリハードドライブにあります。つまり。 /dev/sdb には sdb1 や sdb2 などのパーティションはありません。ルートとブートはどちらも同じ/dev/sdbにあります。私のホストシステムは/ dev / sdaにインストールされているLinux Mintです。 Grubは/ dev / sdaにもインストールされます。オンラインチュートリアルに従いましたが、これはパーティショニングを台無しにしました。考えられる解決策はありますか?私はhd0をhd1と他のすべての可能なパーティションに調整して、グルーブ構成を変更してみました。何も失うことなく、別のライブディスクを使用して新しいパーティションを作成し、すべてを移動できますか?それとも、より良い解決策がありますか?
答え1
チュートリアルに正確に従うと、/dev/sda
LFSがインストールした新しいブートローダーでブートローダーを上書きしました。
パーティショニングは/dev/sda
大丈夫でしょう。 Mintインストールを復元するには、一部のLive Linux ISOからシステムを起動し、rootおよび/bootファイルシステムをマウントし、/dev/sda*
Mintインストールにchrootして実行しますgrub-install /dev/sda
。 MintインストールのGRUB構成ファイルは影響を受けないため、Mintインストールを完全に機能している状態に復元するのに十分です。
新しいブートローダはオペレーティングシステムのカーネルをロードしようとし、/dev/sdb
実際に成功します。Kernel Panic
メッセージは、ブートローダではなくLFSインストールされたカーネルから来ます。
(ブートローダは次の場所にインストールされます。ビデオチュートリアル第11章時間は15:30から始まります。 )
存在する11章 時間 16:12チュートリアルでは、生成について/boot/grub/grub.cfg
説明し、次の行があります。
linux /boot/vmlinuz-4.7.2-lfs-7.10 root=<something> ro
あなたの場合は、これが<something>
必要です/dev/sdb
。誤って入力するとエラーが発生する可能性があります。存在する11章時間 18:20このチュートリアルでは、この問題を解決する方法について説明します。 GRUB起動メニューが表示されたら、キーを押して起動時にe
起動オプションを編集します。上記と同じ行が表示され、一時的に変更してLFSのインストールを開始できます。
別の考えられるエラーは、ルートファイルシステム用のドライバをLFSカーネルにコンパイルしないことです。これはカーネル構成フェーズで指定されます。11章時間14:32しかし、チュートリアルではこれについてほとんど説明しません。
つまり、カーネル設定メニューのFile systems
サブメニューからその行をとして選択するのではなく(アスタリスクで表示)として選択する必要がThe Extended 4 (ext4) filesystem
あります。この手順を見逃しても、起動オプション行で正しいオプションを設定することは役に立ちません。この場合、最良のオプションはMintインストールを復元し、それを使用してLFSカーネルを再構成して再コンパイルし、再コンパイルされたカーネルファイルのディレクトリを削除し、最後にLFSのGRUBを再インストールします。Y
M
root=/dev/sdb
vmlinuz-4.7.2-lfs-7.10
/boot
/dev/sdb
ですが、チュートリアルが/dev/sdb
そもそも分割しないことで根本的なミスを犯したと思います。代わりに、単一のファイルシステム(mkfs /dev/sdb
= "superfloppy"構成)にディスク全体を使用してください。これにより、GRUB2をインストールできなくなります/dev/sdb
。 GRUB2は通常、パーティション化されたディスクでは使用されませんが、「スーパーフロッピー」のファイルシステムの先頭を上書きするMBRの後にいくつかのディスクブロックが必要です。その結果、彼らはブートローダをインストールする必要があり/dev/sda
、それによってMintホストのインストールプロセスが中断されました。
私が行う最小限の変更は次のとおりです。
/dev/sdb
大きなパーティション()を作成/dev/sdb1
し、ここにファイルシステムを作成します。/dev/sdb1
それ以外の/dev/sdb
場合は、Exceptコマンドの代わりに使用してください。grub-install
grub-install /dev/sdb
- LFSでは、
/boot/grub/grub.cfg
GRUBルートデバイスをとして指定set root=(hd0,1)
し、Linuxルートファイルシステムの起動オプションをとして指定する必要がありますroot=/dev/sdb1
。これはBIOSの異常な点によるものです。 BIOSレベルで起動することを選択したディスクは、Linux用で(hd0)
も通常GRUBに使用されます。/dev/sdb
これらの変更により、Mintインストールのブートローダがクラッシュするのを防ぎ、VirtualBoxの起動メニューを使用してMintまたはLFSから起動するインストールを選択できます。また、/dev/sda
構成から完全に削除し(新規構成の/dev/sdb
作成/dev/sda
)/boot/grub/grub.conf
、LFSのみを変更して、新しいLFSインストールを完全に独立して実行できることを証明できる必要があります。
現在の状況を保存する方法は?
/dev/sda
まず、Mintブートローダを復元するためにlive-Linux ISOを使用します。この問題が解決したら、Mintで起動してインストールして/dev/sdb
パッケージ化します。すべてtar.bz2パッケージに入れてください:
mount /dev/sdb /mnt
cd /mnt
tar jcvf /somewhere/with/plenty/of/space/LFS-recovery.tar.bz2 *
cd /
umount /mnt
その後、パーティションを分割して/dev/sdb
ext4ファイルシステムを作成し、マウントして/dev/sdb1
すべて/dev/sdb
を復元します。
fdisk /dev/sdb
<set up one partition to cover the whole disk>
mkfs -v -t ext4 /dev/sdb1
mount /dev/sdb1 /mnt
cd /mnt
tar xvf /somewhere/with/plenty/of/space/LFS-recovery.tar.bz2
次のステップは、次のように必要な準備とLFS環境へのchrootです。チュートリアル 6章 2:40-4:05しかし、今ディレクトリがそこにあります。その後、前述のようにブートローダを/ dev / sdbにインストールできます。