GNU/Linux >> Linux の 問題 >  >> Debian

GRUB2を使用してハードドライブからDebianISOファイルを起動する方法

このチュートリアルでは、GRUB2ブートローダーを使用してハードドライブから直接Debian ISOファイルを起動する方法を示します。これにより、ライブCDまたはライブUSBを作成する必要がなくなります。最近のLinuxライブUSBの作成は非常に簡単です。グラフィカルツールを使用するか、コマンドラインから作成できます。しかし、USBフラッシュドライブがない場合、またはUSBフラッシュドライブにDebianをインストールしたい場合はどうなりますか?

救助へのGRUB

GRUB2ブートローダーは、LinuxISOイメージファイルをハードドライブから直接起動できます。

  • GRUB2は、ext4、HFS +、NTFSなど、多くのファイルシステムをサポートしています。つまり、これらのファイルシステムのいずれかにISOファイルを配置できます。
  • GRUB 2は、LVMおよびRAIDデバイスから直接ファイルを読み取ることができます。
  • GRUB2はネットワークもサポートしています。 TFTP を使用して、ネットワークからOSイメージをロードできます。 プロトコル。

このチュートリアルでは、ローカルハードディスクからのISOファイルの起動についてのみ説明します。この機能を使用するには、コンピュータにすでにインストールされているブートローダーとしてGRUB2を備えたLinuxディストリビューションが必要です。

GRUB2を使用してハードドライブから直接DebianISOファイルを起動する方法

まず、コンピューターを起動し、既存のLinuxディストリビューションを起動します。 DebianISOをダウンロードします。ネットインストールISOまたはライブCDISOのいずれかを使用できます。 hd-media / initrd.gzもダウンロードする必要があります およびhd-media / vmlinuz このページから

  • initrd.gz は最初のramdiskです。
  • vmlinuz Linuxカーネルです。

マウスを使用してクリックできるグラフィカルインストーラーが必要な場合は、 hd-media / gtk / initrd.gzをダウンロードしてください。 およびhd-media / gtk / vmlinuz 代わりは。これらの3つのファイルを同じディレクトリに配置します。次に、ターミナルウィンドウを開き、 /etc/grub.d/40_customを編集します。 nanoなどのテキストエディタでファイルを作成します。

sudo nano /etc/grub.d/40_custom

このファイルでは、GRUBブートメニューにカスタムエントリを追加できます。この場合、DebianISOファイルを起動するためのエントリを追加します。以下は例です。

menuentry "Debian.4 net-install.iso" {
        insmod ext2
        set root='(hd0,2)'
        linux /linuxbabe/vmlinuz
        initrd /linuxbabe/initrd.gz
}

説明:

  • menuentry :このエントリは、GRUB2ブートメニューに表示されます。好きな名前を付けることができます。
  • insmod コマンドはモジュールを挿入します。これらの3つのファイルはホームパーティションに保存されているため、 ext2 モジュールが必要です。これらのファイルがNTFSパーティション上にある場合は、 insmod ntfsが必要です。 代わりに。
  • セット コマンドは、最初のハードドライブの2番目のパーティションをルートディレクトリとして設定します。 (私のホームパーティションは、最初のハードドライブの2番目のパーティションです。)
  • linux コマンドは、指定されたパスからLinuxカーネルをロードします。 vmlinuz 仮想メモリをサポートする圧縮されたLinuxカーネル実行可能ファイルを意味します。文字「z」は、圧縮されていることを示します。
  • initrd コマンドは、指定されたパスから初期ramdiskをロードします。 linuxの後にのみ使用できます コマンドが実行されました。初期RAMディスクは、RAMにマウントされた最小限のルートファイルシステムです。

GRUBはしないことに注意してください IDEとSCSIを区別します。 Linuxでは、 / dev / hda 最初のIDEハードドライブと/dev / sdaを指します 最初のSCSIまたはSATAハードドライブを指します。 NMVe SSDを使用する場合、 / dev / nvme0n1という名前が付けられる場合があります 、 / dev / nvme1n1 等々。ただし、GRUBでは、最初のハードドライブは常に hd0と呼ばれます。 、インターフェイスの種類に関係なく。また、GRUBのパーティション番号は0ではなく1から始まることに注意してください。

パーティション番号を確認するには、 lsblkを実行します。 またはsudoparted -l <​​/ code> ターミナルウィンドウのコマンド。次のコマンドを発行してインストールできるGpartedパーティションエディタでも確認できます。

sudo apt install gparted

私のコンピューターでは、 vmlinuz initrd.gz およびDebianISOイメージは/home / linuxbabe /に保存されます ディレクトリですが、別のホームパーティションがあり、GRUB構成ファイルでrootとして設定されているため、パスは / linuxbabeで始まる必要があります。 、 / home / linuxbabe /ではありません 。

ファイルを保存して閉じます。次に、次のコマンドでGRUBブートメニューを更新します。

sudo grub-mkconfig -o /boot/grub/grub.cfg

Fedoraでは、実行するコマンドは次のとおりです。

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

DebianベースのLinuxディストリビューションでは、次のコマンドを使用してGRUBブートメニューを更新できます。

sudo update-grub

出力から、GRUBが新しいメニューエントリを追加したことがわかります。 (新しいバージョンのGRUBでは、このメッセージは表示されません。)

次に、コンピュータを再起動します。 GRUBブートメニューで、追加したばかりのメニューエントリを確認できます。コンピュータの再起動時にGRUBブートメニューを表示するには、右のShiftキーを押す必要がある場合があることに注意してください。

それを選択してEnterキーを押します。 Linuxカーネル( vmlinuz )および初期RAMディスク( intird.gz )がメモリにロードされます。次に、追加のインストーラコンポーネントがDebianISOイメージからロードされます。

一般的な落とし穴の回避

次のコードを使用してハードディスクからUbuntuISOを起動した可能性がありますが、DebianISOにも同じ構文を使用しようとしています。

menuentry "ubuntu-16.04-desktop-amd64.iso" {
   set isofile="/home/username/Downloads/ubuntu-16.04-desktop-amd64.iso"
   loopback loop (hd0,1)/$isofile
   linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile quiet noeject nopromt spalsh --
   initrd (loop)/casper/initrd.lz
}

動作しません。この構文を使用すると、DebianISOの起動後に次のエラーが発生します。

No common CD-ROM drive was detected.

または

No medium found containing a live file system.

その理由は、UbuntuメソッドはISOイメージ内でLinuxカーネルと初期ramdiskを使用しますが、 hd-media / vmlinuzを使用する必要があるためです。 およびhd-media/ initrd.gz ハードディスクからDebianインストーラを起動するため。 Debian ISOイメージは、Debianインストーラに必要なCD-ROM/メディアです。

その他のヒント

3つのファイルがディスクパーティションの最上位ディレクトリにある場合は、 vmlinuzへのパスを指定するときに最初のスラッシュを省略しないでください。 およびintird.gz 。言い換えれば、あなたは必要です

linux /vmlinuz
initrd /initrd.gz

ではなく
linux vmlinuz
initrd initrd.gz

3つのファイルがMBRディスクの拡張パーティション上にある場合、パーティション番号は1ではなく5から始まります。たとえば、拡張パーティション内の最初の論理パーティションには5の番号が付けられます。拡張パーティション内の2番目の論理パーティションには6の番号が付けられます。

コンピューター内にSATAディスクとNVMeSSDがある場合、SATAディスクが最初で、NVMeSSDが2番目です。 USBドライブとNVMeSSDについても同じことが言えます。

このチュートリアルが、GRUB2ブートローダーを使用してハードディスクからDebianISOイメージを起動するのに役立つことを願っています。いつものように、この投稿が役に立った場合は、無料のニュースレターを購読して、その他のヒントやコツを入手してください。


Debian
  1. USBブートメモリスティックからDebianLinuxをインストールします

  2. Debian 9StretchLinuxでEncFSを使用してディレクトリを暗号化する方法

  3. DebianLinuxのインストール中にリムーバブルメディアから不足しているファームウェアをロードする方法

  1. Etcherを使用してLinuxでISOファイルをUSBドライブに書き込む方法

  2. LinuxのVirtualBoxでUSBドライブから起動する方法

  3. Linux で iso ファイルをマウントする方法

  1. Linuxでハードドライブをいっぱいにする方法

  2. 暗号化を使用したデュアル ブート Windows + Linux

  3. LinuxでISOファイルをマウントするには?