web-dev-qa-db-ja.com

MBRを使用して外付けハードディスクのドライブから起動する

MBR/GPTの初心者はこちら。私はUbuntu16.04の世界に住んでいます。

私はbuntu Live CDを頻繁に使用します。私はたくさんのドライブを備えた外付けHDDを持っているので、私の独創的な:)アイデアは、このHDDの1つのドライブをLiveCDとして専用にし、小さなUSBフラッシュドライブを常に財布に入れないようにすることです。

HDDは/dev/sdbとしてマウントされます。以下は私が試したものです。

  1. Sudo parted /dev/sdb print」を使用すると、このHDDにはMBRがありますが、このHDDにはGPTがありません。

  2. 次に、「gparted」を使用して、ドライブ「/dev/sdb8」を作成しました(プライマリではなく、拡張パーティション上の論理ドライブにすることしかできませんでした)

  3. Sudo rsync -a」を使用して、LiveCDのすべてのコンテンツをこのドライブ「/dev/sdb8」にコピーしました

  4. gparted-> manage flagsオプションを使用して、/dev/sdb8にフラグ「boot」を設定しました(これはフラグが設定された唯一のドライブです)

  5. ドライブをUSBに接続して再起動しました。

ああ!それはうまくいきませんでした。

<F12>(Dell T1700モデル)のワンタイム起動オプションリストに、外付けHDDが表示されていません。つまり、ここから起動できません。

誰か、助けてください!

明らかに、私はいくつかの基本を理解する必要があります、説明/ポインタは非常にありがたいです!!

1

_Grub4dos_は、サポートされているファイルシステムのUSBスティック/ HDDにインストールできます。この場合、元のオペレーティングシステムローダーを完全に置き換えることができます。 ntfsでフォーマットすることをお勧めします。

  1. ディスクの内容全体(すべてのパーティション)のどこかにバックアップを作成します。
  2. プログラムまたはlivecd(gpartedacronisparagonなど)はすべてのパーティションを削除し、ディスク全体のntfsに1つのパーティションを作成します(アクティブで起動可能にする必要があります)。
  3. _grub4dos_ Zipアーカイブをダウンロードしてください:

https://sourceforge.net/projects/grub4dos/files/GRUB4DOS/grub4dos%200.4.4/grub4dos-0.4.4.Zip/download

windowsで作業している場合は、そこでGUIインストーラーを使用できます。

https://yadi.sk/d/dQYHiAFJTH8TR

  1. Grub4dosをUSBスティック/ HDDにインストールするには、任意のオペレーティングシステム(Windows、任意のliveCD Linux)を実行し、ターゲットデバイスを接続します-USBスティックまたはUSB-HDDパッケージの内容_grub4dos-0.4.4.Zip_が利用可能な場所に解凍されます使用されているオペレーティングシステム。アーカイブされていないディレクトリで、コマンドが実行されます

    _# bootlace.com --time-out=0 --no-backup-mbr --mbr-disable-floppy /dev/sdX_

ここで、_/dev/sdX_-はターゲット接続デバイスです

windowsで作業している場合は、GUIインストーラー_Grub4DOS.exe_を実行します(申し訳ありませんが、ロシア語の最初のウィンドウですが、画像からはすべてが明確です)(_"Browse"_を介してUSB-HDDを選択し、ファイルを抽出します)

http://lazvm-comp.ucoz.ru/_pu/0/s63791143.jpg

_"Disc"_フィールドに鳥を入れ、USB-HDDを選択します。リストには、他のハードディスクのセクションもあります。ボリュームに応じて注意してください。この場合、USBテストドライブの容量は4 GB(3812M)です。その他の設定はタッチせず、[インストール]をクリックします。

http://lazvm-comp.ucoz.ru/_pu/0/s53051361.jpg

その後、必要なファイルがUSB-HDDに表示され、起動可能になりました。必要なオペレーティングシステムとプログラムをダウンロードするために必要なファイルをメディアに挿入するだけです。

_Menu.lst_は、使用する最も重要な構成ファイルです。これは基本的にテキストファイルであり、通常のメモ帳を使用して開くことができます。 grldrはローダー自体です。 Bootフォルダーには、gfxというサブフォルダーがあり、_Grub4dos_テーマが格納されています。

ISOイメージをディスクにコピーし、_menu.lst_に次のようなエントリを追加するだけです。

_title Ubuntu Mini Installer
find --set-root /images/ubuntu-mini.iso
map --heads=0 --sectors-per-track=0 /images/ubuntu-mini.iso (0xff)
map --hook
chainloader (0xff)
_

これは、ISOを見つけて抽出し、メモリにループマウントして(最初の3行)、抽出したばかりのイメージのブートローダーをチェーンロードして_grub4dos_トリックを使用します。通常、これによりISOに付属のgrubのインスタンスが読み込まれ、カーネルが起動します。利点は、すべてのファイルがISOイメージ内のどこにあるかを知る必要がないことです。これは、イメージ自体のブートローダーによって処理されます。

「太い」ライブイメージは通常、ファイルシステムを圧縮イメージとして出荷し、同様のトリックを実行してシステムを機能させます。ただし、これらのイメージをブートローダーの開始チェーンで実行すると、さまざまなファイルシステムへの参照が混同され、ISOは_“Unable to find a medium containing a live file system”_で起動できなくなります。

解決策は、次のブートローダーをチェーンロードせずに、_grub4dos_にISOのLinuxカーネルを直接ブートさせることです。すべてのディストリビューションには、ライブイメージのファイルの移動先に関する独自の規則があるように見えるため(_/live_または_/casper_または_/boot_または…)、これには少し試行錯誤が必要です。 。 UbuntuデスクトップISOを起動するための_menu.lst_エントリは次のようになります。

_title Ubuntu Desktop Live
find --set-root /images/ubuntu-desktop.iso
map --heads=0 --sectors-per-track=0 /images/ubuntu-desktop.iso (0xff) || map --mem /images/ubuntu-desktop.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz.efi  file=/preseed/ubuntu.seed noprompt boot=casper iso-scan/filename=/image/ubuntu-desktop.iso quiet splash --
initrd /casper/initrd.lz
_

以前との違いは次のとおりです。

chainloader (0xff)root (0xff)に置き換えられました:(0xff)一時ボリュームのブートローダーをチェーンロードするのではなく、一時ボリュームが次のコマンドカーネル行のルートボリュームとして設定されます:これは_iso-scan/filename_オプションが追加されたISOのgrubインスタンスからのカーネル行initrd行:これは、ISOのgrubインスタンスからのinitrd行です。カーネルに渡すオプション(およびすべての場所)を把握する1つの方法です。ファイルがあります)最初に、含まれているブートローダーをチェーンロードし、そのブート構成を検査します。次に、これらのパラメータを_grub4dos_ _menu.lst_にコピーできます。これらの設定はさまざまなディストリビューション間で異なりますが、ディストリビューション自体はあまり頻繁に変更しません。お気に入りのディストリビューションの実用的なエントリができたら、次のバージョンがリリースされたときにそれらを大規模に再利用できる可能性があります。

ソース:

http://lazvm-comp.ru/publ/sozdanie_multizagruzochnoj_usb_fleshki_na_osnove_zagruzchika_grub4dos/1-1-0-38

https://wdullaer.com/blog/2010/02/26/boot-iso-files-from-usb-with-grub4dos/https://wdullaer.com/blog/2016/08/17/boot-live-disks-from-a-multiboot-usb-as-an-iso /

私の例_menu.lst_:

_timeout=20
default 0
gfxmenu (hd0,0)/Boot/gfx/dragon.gz

title Windows XP BartPE Mini
map (hd0,0)/iso/bartpe_mini.iso (0xff)
map --hook
chainloader (0xff)
boot

title Win7 Live CD x86&x64
chainloader /XMPE/WinPE/bootmgr (0xff)
boot

title xubuntu-16.04.1-desktop-i386
kernel /ubuntu/vmlinuz iso-scan/filename=/ubuntu/xubuntu-16.04.1-desktop-i386.iso boot=casper only-ubiquity initrd=/casper/initrd.lz locale=ru_RU quiet splash --
initrd /ubuntu/initrd.lz

title Acronis Disk Director 12
map --mem --heads=0 --sectors-per-track=0 (hd0,0)/dd/ADD12_3270_ru-RU.iso (hd32)
map --hook
chainloader (hd32)
boot

title Acronis True Image 2017
map --mem --heads=0 --sectors-per-track=0 (hd0,0)/ti/acronis_true_image_2017.iso (hd32)
map --hook
chainloader (hd32)
boot

title Hiren's BootCD 9.3 Rus
map (hd0,0)/iso/Hiren's_BootCD_9.3.iso (0xff)
map --hook
chainloader (0xff)
boot

title MemTest86 5.1
map (hd0,0)/iso/Memtest86-5_1.iso (0xff)
map --hook
chainloader (0xff)
boot

title ERD 6.5_x86_Win7_RTM
map (hd0,0)/iso/ERD65_x86_Win7_RTM.iso (0xff)
map --hook
chainloader (0xff)
boot

title ERD 6.5_x64_Win7_RTM
map (hd0,0)/iso/ERD65_x64_Win7_RTM.iso (0xff)
map --hook
chainloader (0xff)
boot

title ReBoot
reboot

title ShutDown
halt
_

これはディレクトリ構造に対応します:

_[0000] # user directory with any files on my disk
[Boot]
    [gfx]
        dragon.gz # theme screen `grub4dos`
    BCD
    BCD.log
    memdisk.gz
[dd]
    ADD12_3270_ru-RU.iso
[iso]
    [HDDScan-3.3] # from here I run the program HDDScan under windows liveCD (Win7 Live CD x86&x64)
    bartpe_mini.iso
    ERD65_x64_Win7_RTM.iso
    ERD65_x86_Win7_RTM.iso
    Hiren's_BootCD_9.3.iso
    Memtest86-5_1.iso
[ti]
    acronis_true_image_2017.iso
[ubuntu]
    initrd.lz
    vmlinuz
    xubuntu-16.04.1-desktop-i386.iso
[XMPE] # Windows 7 LiveCD
    [FONTS]
    [W7PePrograms]
    [WinPE]
        BOOT.SDI
        bootmgr
        grldr
        M1
        XM64.bat
        XM64.WIM
        XM86.bat
        XM86.WIM
    BCD
grldr
Menu.lst
_

類推によって_menu.lst_を編集することにより、ブートイメージを追加、削除できます。

1
Alex_Krug