GRUBで「ライブ」Linuxディストリビューションを手動で起動している間にsquashfsファイルをマージする方法は?

GRUBで「ライブ」Linuxディストリビューションを手動で起動している間にsquashfsファイルをマージする方法は?

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/vmlinuzaddコマンドを変更しましたが、起動してroot=UUID=what ls command gives for partition with distro多くの行が表示され、stdin: Not a typewriterCLI(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と入力すると、システムは正常に起動します。

始める

おすすめ記事