web-dev-qa-db-ja.com

GRUBコマンド「loopback loop ...」はUbuntu 19.10では機能しません

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

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

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-commonのバージョンは2.04-1ubuntu12です。

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

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

(この質問は ディスク上のISOからの起動に関する別の質問 に関連していますので注意してください(-===-)私は投稿しましたが、それらは十分に異なるため、別のポスト)。

2
PJ Singh

mkusbシンプルISOブーター

ISOブーターがまだ機能しない場合は、ここに数分しかかからない方法があります

  • すべてデフォルトでmkusbを使用して永続ドライブを作成します。

  • GPartedを開き、ISO9660パーティション4を削除し、casper-rwパーティション5をそのスペースに拡張します。

GParted Mods

  • Usbdataパーティション1にisosという名前のフォルダーを作成し、ISOを追加します。

  • Usbbootパーティション2の/boot/grub/grub.cfgを編集して、既存のメニューエントリを次のように上書きします。

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 splash --
        initrd (loop)/casper/initrd
}

Mkusbの基盤を作成するときに18.04を使用する場合、ドライブは19.10 ISOを起動するためにgrub 2.02を使用する必要があります。 sudodusのコメントを参照 buntu 19.04でgrubを2.04から2.02にダウングレードする方法

1
C.S.Cameron

同様の問題だと思います。「Swiss Army」フラッシュドライブと外部SSDのベースとして、ライブUbuntuを使用しています。私はしばらくの間、さまざまな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で修正されたようです。

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

[さらに編集して追加]そして、これは「答え」ではなくコメントである必要があると思います。私は最終的に追いつくでしょう...

1
Bill W

ループマウント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内の不正確な永続パス(使用されている場合)

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

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

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

  • Vmlinuzおよびinitrd(.efiおよび.lz)の不正なファイルタイプ

  • OSに適さないGrubメニューエントリ

  • ISOファイルが完全にコピーされる前にUSBが削除されました

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

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

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

  • USBソケットが不良です

  • 十分なRAMがない

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

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

見逃した理由を教えてください。

0
C.S.Cameron

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

set root =(hd0、gpt7)
linux/kernel
initrd /initrd.img
ブート

動いた!
isoをループバックできなくても、isoから起動するのと同じことができます。

0
user645265