最初は、Windows 10とUbuntuのデュアルブートを使用しました。詳細:
- /dev/sda1のWindows EFIファイル
- /dev/sda8のUbuntu
を学ぶために、私はLinux From Scratchプロジェクトに従い始めて、独自のLinuxを作成しました。私はこのために/ dev / sda9パーティションを使用しました。完了したら、grubメニューでWindowsとUbuntuを見つけることができず、Linuxで最初から始める必要がありました。ただし、Live CDから起動しようとすると、UbuntuとWindowsの両方でLive CDオプションが表示されます。
以下は、Live CDオプションを使用した場合のいくつかのコマンドの出力です。
ls -l /dev/disk/by-label/
total 0
lrwxrwxrwx 1 root root 10 Mar 19 10:15 DELLSUPPORT -> ../../sda7
lrwxrwxrwx 1 root root 10 Mar 19 10:15 ESP -> ../../sda1
lrwxrwxrwx 1 root root 10 Mar 19 10:15 Image -> ../../sda6
lrwxrwxrwx 1 root root 10 Mar 19 10:15 New\x20Volume -> ../../sda4
lrwxrwxrwx 1 root root 10 Mar 19 10:15 OS -> ../../sda3
lrwxrwxrwx 1 root root 10 Mar 19 10:15 UBUNTU\x2017_1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Mar 19 10:15 WINRETOOLS -> ../../sda5
sudo fdisk -l コマンドの場合
Disk /dev/loop0: 1.3 GiB, 1425731584 bytes, 2784632 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sda: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: B128B55E-BDDA-4F19-8CBA-8FAD8E802736
Device Start End Sectors Size Type
/dev/sda1 2048 1026047 1024000 500M EFI System
/dev/sda2 1026048 1288191 262144 128M Microsoft reserved
/dev/sda3 1288192 1722216447 1720928256 820.6G Microsoft basic data
/dev/sda4 1722216448 2656086015 933869568 445.3G Microsoft basic data
/dev/sda5 3879495680 3880417279 921600 450M Windows recovery environment
/dev/sda6 3880417280 3904839679 24422400 11.7G Windows recovery environment
/dev/sda7 3904841728 3907028991 2187264 1G Windows recovery environment
/dev/sda8 2752610304 3879495679 1126885376 537.3G Linux filesystem
/dev/sda9 2656086016 2752610303 96524288 46G Linux filesystem
Partition table entries are not in disk order.
Disk /dev/sdb: 14.7 GiB, 15744892928 bytes, 30751744 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xcf80b994
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 30751743 30749696 14.7G c W95 FAT32 (LBA)
コマンドの場合 sudo blkid:
/dev/sda1: LABEL="ESP" UUID="C496-69E5" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="4950763d-c24d-4680-927a-1e595c303648"
/dev/sda3: LABEL="OS" UUID="9254944E54943747" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="b16a3bfb-16fb-4275-a3fe-6e3dbcb689a1"
/dev/sda4: LABEL="New Volume" UUID="48103B2D103B20FC" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="25545acb-af8e-4230-a6d8-24337815dde9"
/dev/sda5: LABEL="WINRETOOLS" UUID="5018B15D18B14330" TYPE="ntfs" PARTUUID="c1f4defe-71d1-46fd-a501-cabfd279c132"
/dev/sda6: LABEL="Image" UUID="B23AB2C13AB281C1" TYPE="ntfs" PARTUUID="cfa18786-2f02-4b3a-ae6e-d44dc0364e50"
/dev/sda7: LABEL="DELLSUPPORT" UUID="6CE0AEC7E0AE973C" TYPE="ntfs" PARTUUID="82b58d3a-141a-4134-91cb-f41c3994121c"
/dev/sda8: UUID="972bea99-5b5f-410b-830b-b3c248d54062" TYPE="ext4" PARTUUID="3ee28255-1737-405c-8bf7-90695a0ce8b2"
/dev/sda9: UUID="180af068-75e7-4fb4-b459-271231cec69f" TYPE="ext4" PARTUUID="5dfc33a2-73a5-4ebb-994e-c1cc7d655d21"
/dev/sdb1: LABEL="UBUNTU 17_1" UUID="D29D-D873" TYPE="vfat" PARTUUID="cf80b994-01"
/dev/loop0: TYPE="squashfs"
/dev/sda2: PARTLABEL="Microsoft reserved partition" PARTUUID="6eec3d1c-1f7f-46a9-9d7a-fa7b75775a1f"
sdaXをすべてインストールして実行した後grub-install --boot-directory=/mnt/boot /dev/sda、次のエラーが発生します。
Installing for i386-pc platform.
grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
grub-install: error: will not proceed with blocklists.
私はたくさん検索しましたが、何も動作しないようです。どんな助けでもいいでしょう。
答え1
システムはUEFIとGPTを使用し、レガシーBIOS用のGRUBバージョンをインストールしようとしますが、レガシー互換BIOSブートパーティションはありません。これは有効な組み合わせではありません。
UEFIは開発環境をはるかに超えているため、既存のスタイルのブートローダにはUEFIブートスキームを使用するオペレーティングシステムを含めることはできません。一部のUEFIブートローダ可能UEFIブートローダの作成者がこの特定のUEFI実装でレガシー互換性を呼び出す方法を知っている場合は、古いオペレーティングシステムを起動するオプションを提供できます。
最善の方法はGRUBのUEFIバージョンを使用することです(Installing for x86_64-efi platform
i386-pcに似たものを表示する必要があります)。
これにより、挿入やブロックリストなどのBIOSスタイルのトリックを必要とせずに、GRUBを\ EFI [選択した名前] \ grubx64.efiなどのディレクトリの/ dev / sda1にファイルとしてインストールできます。grub-install
GRUBコマンドのUEFIバージョンはそれを自動的に処理する必要があります。
Live CDから起動するときは、システムが既存のBIOSとUEFIという2つの方法でCDから起動できることに注意してください。重要なことは、ブートローダのインストールに重要なUEFIファームウェア起動変数は、システムがUEFIモードで起動したときにのみアクセスできることです。一部のオペレーティングシステムインストーラは実際にUEFIブート変数にアクセスできるかどうかを検出し、その変数を使用してUEFIまたはブートローダのレガシーBIOSバージョンをインストールするかどうかを決定します。レガシーブートCD / DVDからUEFIブータブルオペレーティングシステムをインストールする必要がある場合は、この決定を上書きする方法を見つける必要があります。
GPTパーティションディスクにBIOSブートパーティションを作成するには、ファームウェア設定(Windows用のUEFIブート、Linuxインストール用のレガシーブート)を継続的に置き換える必要があります。これは理想的なわけではなく、すべてのシステムがBIOS + GPTの組み合わせをサポートしているわけではありません。
新しいハードウェアのプロセスを学ぶことが目標であれば、レガシー全体の作業のためにシステムを完全に再インストールすることは、多くの作業を必要とし、非生産的です。