Grub コマンド「loopback loop...」は Ubuntu 19.10 では動作しません

Grub コマンド「loopback loop...」は Ubuntu 19.10 では動作しません

c起動中に、 Grub メニューを押して grub2 コマンドラインを入力します。

次のコマンドを入力すると...

loopback loop (hd0,gpt2)/ubuntu-19.10-desktop-amd64.iso

...grub がハングし、ターミナルに出力やアクティビティがなくなり、最終的にはラップトップが熱くなるため、ラップトップのファンが回転します。

パスは(hd0,gpt2)/ubuntu-19.10-desktop-amd64.iso私のシステムでは有効です。

どの ISO を使用しても同じ結果が得られ、ISO のチェックサムを検証しました。

私は Ubuntu 19.10 でこの現象を経験していますが、以前の Ubuntu リリースではこの問題は発生していませんでした。私が使用しているバージョンはgrub2-common2.04-1ubuntu12 です。

grub コマンドを動作させるにはどうすればよいですかloopback? (たとえば、実行する前に特定のモジュールをロードしたり、他のコマンドを入力したりする必要がありますかloopback?)

(また、19.10 でもこの問題が発生する場合は、コメントを追加してください。これが私のインストールに固有の問題なのか、それともより大きな問題なのかを判断したいと思います。)

(この質問はディスク上のISOからの起動に関する別の質問私は投稿しましたが、それらは別の投稿に値するほど十分に異なると思います。

答え1

そこには回避策Ubuntuのバグ#1851331...

無効にするTPPMについてrmmod tpmgrub 設定ファイルの最初のコマンドとしてモジュールを追加します。

たとえば、ここに私の/etc/grub.d/40_customファイルがあります...

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Install" {
    rmmod tpm
    set isofile="/ubuntu.iso"
    loopback loop (hd0,2)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
    initrd (loop)/casper/initrd
}

変更を行った後は必ず grub を更新してください。

sudo update-grub

答え2

ループマウント ISO 用の Grub.cfg

if loadfont /boot/grub/font.pf2 ; then
    set gfxmode=auto
    insmod efi_gop
    insmod efi_uga
    insmod gfxterm
    terminal_output gfxterm
fi

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

set timeout=5

menuentry "ubuntu-19.10-desktop-amd64.iso" {
    set root=(hd0,1)
    set isofile="/isos/ubuntu-19.10-desktop-amd64.iso"
        loopback loop $isofile
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile persistent persistent-path=/persist-1/ splash --
        initrd (loop)/casper/initrd
}
menuentry "lubuntu-16.04.3-desktop-amd64.iso" {
    set root=(hd0,1)
    set isofile="/isos/lubuntu-16.04.3-desktop-amd64.iso"
        loopback loop $isofile
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile persistent persistent-path=/persist-2/ splash --
        initrd (loop)/casper/initrd.lz
}

私の場合はうまく機能する Grub.cfg の例。

ISO からコピーした grub.cfg を編集しました。

永続的な USB が起動しない理由は多数ありますが、その中には次のようなものがあります。

  • MD5SUM が不正 / ISO ファイルが破損しています

  • GRUB の ISO へのパスが正しくありません

  • ルートパーティションが正しくありません

  • Casper-rw パーティションは ext ファイルシステムではありません

  • grub 内の persistent-path が正しくありません (使用されている場合)

  • Casper-rw パーティションは以前のバージョンから再利用されました

  • Casper-rw ファイルがいっぱいです

  • 変更または破損した ISO9660 パーティション

  • vmlinuz および initrd のファイル タイプが正しくありません (.efi および .lz)

  • Grub メニューエントリが OS に適合しない

  • ISO ファイルが完全にコピーされる前に USB が取り外される

  • BIOS または UEFI ブート パーティションまたはファイルに関する問題。

  • USB が GRUB の最初のハードドライブとして設定されていない

  • 不良フラッシュドライブ

  • USBソケット不良

  • RAMが足りません

  • 互換性のないコンピュータCPU

  • 互換性のないコンピュータGPU

見逃した理由があればお知らせください。

答え3

同様の問題だと思います。私はライブ Ubuntu を「スイス アーミー」フラッシュ ドライブと外付け SSD のベースとして使用しています。しばらくの間、さまざまな Linux やその他の ISO をループして起動することができました。

19.04 を基本「インストール」に使用すると (実際にはフラッシュにコピーされたファイルのみ)、ISO を起動できます。19.10 を使用すると、黒い画面が表示されてハングします。3 本指敬礼でテスト ラップトップが再起動しますが、ISO の実際の起動は進行しないようです。

私がやってきたことの例: http://www.beezmo.com/geezblog/?p=1955

19.04 がベースの場合は機能するが、19.10 の場合は機能しないサンプル スタンザ:

menuentry "Ubuntu 16.10 64-bit Desktop ISO" {
    set isofile="/bootable/iso/ubuntu-16.10-desktop-amd64.iso"
    loopback loop $isofile
    linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noeject noprompt splash --
    initrd (loop)/casper/initrd.lz 
}

私は 19.04 を使い続けたいのですが、17.x 以降では、永続性を有効にすると snapd が CPU サイクルをすべて消費してしまい、使用できなくなります。19.10 では、それが修正されたようです。

[編集して追加] ここは初めてなので、エディターの使い方がよくわかりません。フォーマットについては申し訳ありません :(

[さらに編集して追加] そして、これは「回答」ではなくコメントであるべきだったと思います。そのうち理解できるでしょう...

答え4

私も ISO をループバックできませんでした。ISO
をマウントし、すべてのファイルとディレクトリを (hd0,gpt7) にコピーしました。
次に、PC を再起動し、grub コマンドラインで次のように入力しました。set

root=(hd0,gpt7)
linux /kernel
initrd /initrd.img
boot

うまくいきました!
ISO をループバックできませんでしたが、ISO から起動した場合と同じことができました。

関連情報