目次:
- 用語
- 変換中
- 構成(+デュアルブート)
用語
BIOS =基本入出力システム
(U)EFI =(統合)拡張可能ファームウェアインターフェイス
MBR =マスターブートレコード
GPT = GUIDパーティションテーブル
UEFI / EFI / BIOS =ファームウェアインターフェイス
MBR / GPT =ドライブ上にあるパーティションと、それらからブートする方法をコンピューターが(ハードディスクごとに)知る方法。
UEFI / BIOS
ファームウェアインタフェースは、ファームウェア(機器内部のソフトウェア)およびオペレーティングシステムが相互作用する方法です。ハードウェアを初期化してからオペレーティングシステムを実行し、オペレーティングシステムドライバーがハードウェアを操作できるようにします。
BIOSは、使用されている通常のファームウェアインターフェイスです。UEFIは、より高速で、GUIを備え、ネットワークカードを起動してIPアドレスを取得できるなど、いくつかの機能を備えた新しいインターフェイスです。UEFIはEFIを置き換えます。(EFIを開発している人は、同様のことをしている他の人がいることを知り、EFIのアイデアを持って参加しました。これがUEFIになりました)。
BIOSでは、ブートローダーがディスクの先頭にある必要がありますが、UEFIはこのためにパーティションを使用し、使用する複数のブートローダーから選択できます。
MBR / GPT + GRUB
MBRは、(BIOS用)ブートローダーを含むディスクの開始時にコードの部分だけでなく、パーティションマップとユニークなディスク識別子です。
GRUBをMBRを使用してディスクにインストールするために、GRUBはMBRに小さなプログラムを配置して、ディスクの別の部分からGRUBの残りの部分をロードします。(これは、MBRが小さすぎてすべてのGRUBを含めることができないためです)。選択されるスペースは、MBRと最初に存在するパーティションとの間のスペースです。
GPTは、パーティトンの指定方法の標準です。「保護」MBRがありますが、これはBIOSベースのコンピューターがMPTのみを知っているツールを起動してGPTを破壊しようとするのを許可するためだけです。持つことができます
(GPTの処理方法は、BIOS(またはBIOSエミュレーションモードのUEFIシステム)を使用して起動するか、UEFIを使用するかによって異なります。質問に関連するUEFIに焦点を当てます)。
オペレーティングシステムのブートローダーは、(通常)FAT32でフォーマットされたEFI System Partitonと呼ばれるパーティションに保存されます。ここにGRUBがインストールされます。
変換中
最初...
パーティションテーブルで遊んでいるので、保証された安全性は不可能です。これは危険な操作です。ただし、メソッドがデータを失うことはありません。
これに遭遇する他の人:Apple Macでは使用しないでください。
今...
ライブCD(または別のディスクにインストールされた別のLinuxインストール)でこれを行う必要があります。
GPTディスクを扱う場合、GPT対応プログラムを使用する必要があります。「GPT fdisk」は使用に適したツールであり、今後使用するものです。呼び出すgptfdisk
か
gdisk
、ディストリビューションに応じて呼び出すことができます(Ubuntuが呼び出しますgdisk
)。Parted(およびGparted)もGPT対応であるため、GPTディスクで「安全に」使用できます。
変換するには以下が必要です:
- GPTデータとEFIシステムパーティションに合わせてパーティションのサイズを変更します。
- ディスクを変換してパーティションを追加します
- GRUBをEFIシステムパーティションにインストールします。
1)パーティションのサイズ変更
parted
(コマンドライン)またはgparted
(GUI)を使用して、最初と最後のパーティションのサイズを変更します。最初のパーティションの前には約200MiBが必要で、最後のパーティションには1MiBから2MiB(どちらでもかまいません)が最後まで削除されている必要があります。
2)ディスクを変換する
走る
gdisk /dev/sdx
変換するデバイスの変更は/dev/sdx
です。
パーティシトンテーブルを変換することを通知する必要があります。
GPT fdisk (gdisk) version 0.6.14
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format.
THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if
you don't want to convert your MBR partitions to GPT format!
***************************************************************
Command (? for help):
次に、新しいパーティションを追加し、タイプを「EFIシステム」にします。最初に空き領域を見つけ(34のような低いセクター番号をお勧めします)、すべての空き領域を自動的に使用します。この例では、4GBのUSBフラッシュドライブを使用しており、既に1つのパーティションがあり、上記に従ってサイズ変更されています。
Command (? for help): n
Partition number (2-128, default 2): 2
First sector (34-7831518, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-421887, default = 421887) or {+-}size{KMGTP}:
Current type is 'Linux/Windows data'
Hex code or GUID (L to show codes, Enter = 0700): L
0700 Linux/Windows data 0c01 Microsoft reserved 2700 Windows RE
4200 Windows LDM data 4201 Windows LDM metadata 7501 IBM GPFS
7f00 ChromeOS kernel 7f01 ChromeOS root 7f02 ChromeOS reserved
8200 Linux swap 8301 Linux reserved 8e00 Linux LVM
a500 FreeBSD disklabel a501 FreeBSD boot a502 FreeBSD swap
a503 FreeBSD UFS a504 FreeBSD ZFS a505 FreeBSD Vinum/RAID
a800 Apple UFS a901 NetBSD swap a902 NetBSD FFS
a903 NetBSD LFS a904 NetBSD concatenated a905 NetBSD encrypted
a906 NetBSD RAID ab00 Apple boot af00 Apple HFS/HFS+
af01 Apple RAID af02 Apple RAID offline af03 Apple label
af04 AppleTV recovery be00 Solaris boot bf00 Solaris root
bf01 Solaris /usr & Mac Z bf02 Solaris swap bf03 Solaris backup
bf04 Solaris /var bf05 Solaris /home bf06 Solaris alternate se
bf07 Solaris Reserved 1 bf08 Solaris Reserved 2 bf09 Solaris Reserved 3
bf0a Solaris Reserved 4 bf0b Solaris Reserved 5 c001 HP-UX data
c002 HP-UX service ef00 EFI System ef01 MBR partition scheme
ef02 BIOS boot partition fd00 Linux RAID
Hex code or GUID (L to show codes, Enter = 0700): ef00
Changed type of partition to 'EFI System'
これでEFIパーティションができました。
Command (? for help): p
Disk /dev/sdd: 7831552 sectors, 3.7 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 669247F2-37F7-4797-98F9-9CE56F7EA8C8
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 7831518
Partitions will be aligned on 2048-sector boundaries
Total free space is 4029 sectors (2.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 421888 7829503 3.5 GiB 0700 Linux/Windows data
2 2048 421887 205.0 MiB EF00 EFI System
その後、終了 gdisk
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed, possibly destroying your data? (Y/N): y
OK; writing new GUID partition table (GPT).
The operation has completed successfully.
Gparted(またはコマンドラインmkfs.vfat
)を使用して、パーティションをFAT32としてフォーマットします。
3)GRUBをインストールする
これは、前の部分が自分で試したことがないという保証が少ないことを意味します。
私はこのステップについて確信が持てないので、RAOFの指示を使用して推測します。
grub-efiに切り替えるには
- EFIパーティションを見つけます。/ boot / efiにマウントします。これを/ etc /fstab¹に追加します
- grub-efiパッケージをインストールする
- BIOSのブート優先度をUEFIおよびレガシーからUEFIのみに切り替える(または同様のオプション)
どのバージョンのgrub-efiをインストールするかを決める必要があります
ioreg -l -p IODeviceTree | grep firmware-abi
それは言うならばEFI32
、インストールgrub-efi-ia32
、それは言うならば、パッケージをEFI64
インストールしgrub-efi-amd64
たパッケージを。次のコマンドでパッケージをインストールできます
sudo apt-get install <package name>
これはおそらく、EFIモードで起動した場合にのみ機能します。
動作しない場合は、一度インストールしたらこれらの手順を(「(U)EFIシステムにGRUB2をインストール」の下で)試すことができますgrub-efi
。
構成(+デュアルブート)
RAOKの指示が機能する場合、次の行を追加できます。
/etc/grub.d/40_custom
menuentry "Windows 7" {
set root='(hd0,gpt1)'
chainloader /EFI/microsoft/bootmgfw.efi
}
Windowsがhd0
GRUBによって認識されていることを前提としています。動作するように変更する必要があるかもしれませんhd1
。
今すぐ実行
update-grub
構成ファイルを更新します。
参考資料と詳細資料
いくつかのソースを使用しました。