GRUB 2.0コマンドラインからLinuxディストリビューションを起動したいと思います。複数のディストリビューションでこれを試してみましたが、「最も良い」場合は、ディストリビューinitramfs
ションが標準モードで実行されているとGUIが起動しないというメッセージが表示されます。結果ファイルシステムには、initrdファイル(100Mb未満)にはファイルが含まれていますが、filesystem.squashfs(1GBより大きい)には含まれていないようです。
vmlinux、initrd、およびfilesystem.squashfsファイルはcasper
フォルダにあり、ディストリビューションのgrub.cnfメニュー項目にあるlinuxコマンドにあります。キャスパーが持続することを理解している限り、カーネルオプションが機能するためにboot=casper
フォルダ名は必要ないようです。casper
セックス関連オプションウィキペディア。
また、この問題について理解したところ、ブートプロセスがUnionfs操作を実行しようとすると、カーネル配布コンテンツを除くすべてのコンテンツを含むSquashFSファイルが見つかりませんでした。それがどこにあるのか、どうすればわかりますか?問題が別の根本原因にある可能性があります。教えてください。
0追加:linux (hd0,msdos2)/casper/vmlinuz
addコマンドを変更しましたが、起動してroot=UUID=what ls command gives for partition with distro
多くの行が表示され、stdin: Not a typewriter
CLI(initramfs) Unable to find a medium containing live file system
プロンプトが表示され続けます。画面の標準出力は、ルートオプションがないのと同じ行です...覚えていません。起動中に行が多すぎました。
GRUBのマニュアルと試行錯誤で私が理解したところによれば、root
変数はデバイス内のパスではなくデバイスだけを指すことができるので、設定がキャスパーフォルダ内のsquashfsファイルを指していないことがわかります。
1個追加: フォローしgrep -rnw 'initrd file loop mounted location' -e 'filesystem.squashfs'
ましたhttps://stackoverflow.com/questions/16956810/how-do-i-find-all-files-含む-特定-テキスト-on-linuxしかし、何も得られなかったので、initプロセスがどのようにsquashfsファイルを見つけたのかわかりません。
答え1
ブートストラップのためには、以下を指定する必要があります。オペレーティングシステムそして初期化プログラムそうしないと、問題が発生する可能性があります。
Linuxセクションでは、ルートディレクトリにすでにディスク/パーティションを指定しているため、パスを指定する前にディスク/パーティションを含めないでください。例では、/dev/sda1 を入れていますが、sdb や他のものかもしれません。
Linux /casper/vmlinuz-version-pae root=/dev/sda1
その後、このステップでinitrdを指定する必要があります。ルートはすでに指定しているため、指定する必要はありません。
initrd /casper/initrd.img-バージョン-pae
最後にbootと入力すると、システムは正常に起動します。
始める