Clover

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

Clover EFI は、OS X (Hackintosh)、Windows、そして Linux をレガシーモードや UEFI モードでブートするために開発されているブートローダです。

Clover の主な長所は:

  • レガシー BIOS システムで UEFI をエミュレートできる
  • EFISTUB をサポートする Linux カーネルをブートできる
  • 今日一般的に使用されている大きなスクリーンでネイティブな解像度 GUI をサポートする
  • 簡単に使える
  • 簡単にカスタマイズ可能

インストール

Clover は BIOS システム上で UEFI 環境をエミュレートできるので、UEFI システムと BIOS システムでの手順は似ています。

UEFI システム

EFI システムパーティション/boot にマウントしてください。これは、UEFI から EFISTUB カーネルを直接ブートする場合に推奨される方法です。

初期 RAM ディスク環境を mkinitcpio で生成してください。

Clover ブータブル ISO をここからダウンロードしてください。

Clover-*-X64.iso.7z アーカイブを展開し、Clover-*-X64.iso ファイルを見つけて、その ISO を /mnt/iso などのようなディレクトリにマウントしてください。Windows と Mac OS と異なり、Linux では すべてのファイルとフォルダの名前が小文字で表示されることに注意してください。

/mnt/iso/efi フォルダ全体を EFI システムパーティション にコピーしてください。/boot のディレクトリツリーは以下のようになるはずです:

/boot/EFI
/boot/EFI/BOOT
/boot/EFI/CLOVER
/boot/initramfs-linux-fallback.img
/boot/initramfs-linux.img
/boot/vmlinuz-linux

BIOS システム

ノート: 以下はレガシー BIOS ですが、UEFI/GPT パーティショニングレイアウトが必要です。唯一の違いは、EFI システムパーティションに "Legacy BIOS bootable" フラグを設定する必要があるということです。

Clover Bootable ISO をダウンロードしてください。

Clover-*-X64.iso.7z アーカイブを展開し、Clover-*-X64.iso ファイルを見つけて、その ISO を /mnt/iso などのようなディレクトリにマウントしてください。

Clover コードを現在の Master と Partition Boot Records にマージしてください (ESP が /dev/sda のパーティション 1 であると仮定しています。必要に応じて変更してください):

# dd if=/dev/sda1 of=/tmp/original_PBR bs=512 count=1 conv=notrunc
# cp /mnt/iso/usr/standalone/i386/boot1f32 /tmp/new_PBR
# dd if=/tmp/original_PBR of=/tmp/new_PBR skip=3 seek=3 bs=1 count=87 conv=notrunc
# dd if=/tmp/new_PBR of=/dev/sda1 bs=512 count=1 conv=notrunc
# dd if=/mnt/iso/usr/standalone/i386/boot0ss of=/dev/sda bs=440 count=1 conv=notrunc

EFI システムパーティション/boot にマウントしてください。

/mnt/iso/efi フォルダ全体を EFI システムパーティションにコピーしてください。

レガシーなブートローダを EFI システムパーティションにコピーしてください:

# cp /mnt/iso/usr/standalone/i386/x64/boot6 /boot/boot

設定

設定は EFI システムパーティションにある EFI/CLOVER 下の XML ファイル config.plist で行います。

config.plist を任意の OS で簡単に編集できるツールが存在します: Cloud Clover Editor (CCE)

それぞれのキーの意味は、カスタムエントリの wiki を参照してください。Volume キーは、EFI システムパーティションの PARTUUID である必要があり、大文字でなければなりません。Arguments の最小 initramfs initramfs-linux.imgPath の Linux カーネル実行ファイル vmlinuz-linux は、EFI システムパーティションからの相対パスです。逆スラッシュは EFI 標準にしたがって使用する必要があります。Arguments の他の引数については、EFISTUBカーネルパラメータ#パラメータ一覧 を参照してください。

以下の例では、initramfs とカーネルのファイルが EFI システムパーティションのルートに置かれているとします (つまり、efi ディレクトリと同じ階層にある)。EFI システムパーティションは /boot にマウントされているとします。

/boot/EFI/CLOVER/config.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>GUI</key>
  <dict>
    <key>Custom</key>
    <dict>
      <key>Entries</key>
      <array>
        <dict>
          <key>Arguments</key>
          <string>initrd=\initramfs-linux.img root=PARTUUID=d5d0fceb-c58e-c745-a7ff-f2f1b2824e66 rw add_efi_memmap</string>
          <key>Path</key>
          <string>\vmlinuz-linux</string>
          <key>Title</key>
          <string>Arch Linux</string>
          <key>Type</key>
          <string>Linux</string>
          <key>Volume</key>
          <string>33BA6C23-4772-294D-9053-72A49FCAEF39</string>
          <key>VolumeType</key>
          <string>Internal</string>
        </dict>
        <dict>
          <key>Arguments</key>
          <string>initrd=\initramfs-linux-fallback.img root=PARTUUID=d5d0fceb-c58e-c745-a7ff-f2f1b2824e66 rw debug add_efi_memmap</string>
          <key>Path</key>
          <string>\vmlinuz-linux</string>
          <key>Title</key>
          <string>Arch Linux Rescue Mode</string>
          <key>Type</key>
          <string>Linux</string>
          <key>Volume</key>
          <string>33BA6C23-4772-294D-9053-72A49FCAEF39</string>
          <key>VolumeType</key>
          <string>Internal</string>
        </dict>
      </array>
    </dict>
  </dict>
</dict>
</plist>

systemd-boot をチェインロードする

The Boot Loader Specification に準拠している、BIOS システム用のブートローダが必要である場合、systemd-boot を BIOS システムで使用することができます。以下は、Clover に systemd-boot をチェインロードさせるために必要な設定ファイルです:

/boot/EFI/CLOVER/config.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Boot</key>
	<dict>
		<key>DefaultVolume</key>
		<string>EFI</string>
		<key>DefaultLoader</key>
		<string>\EFI\systemd\systemd-bootx64.efi</string>
		<key>Fast</key>
		<true/>
	</dict>
	<key>GUI</key>
	<dict>
		<key>Custom</key>
		<dict>
			<key>Entries</key>
			<array>
				<dict>
					<key>Hidden</key>
					<false/>
					<key>Disabled</key>
					<false/>
					<key>Image</key>
					<string>os_arch</string>
					<key>Volume</key>
					<string>EFI</string>
					<key>Path</key>
					<string>\EFI\systemd\systemd-bootx64.efi</string>
					<key>Title</key>
					<string>Arch Linux</string>
					<key>Type</key>
					<string>Linux</string>
				</dict>
			</array>
		</dict>
	</dict>
</dict>
</plist>

参照

翻訳ステータス: このページは en:Clover の翻訳バージョンです。最後の翻訳日は 2023-07-27 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。