現: 2018-06-09 (土) 19:31:57 maruo[3] [4] | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | [[Gentoo Linuxな生活/システム管理関連]] | ||
+ | *UEFIとGRUB2と大容量ディスク [#r240e986] | ||
+ | そもそもEFIが開発された動機は、1990年代中盤のインテルとヒューレットパッカードによる初代Itanium機の開発初期にまでさかのぼる。IBM PC由来のSystem BIOS等の制限等(16ビットプロセッサモード、1MBのアドレス空間、PC/ATハードウェアへの依存、等)によって、従来の各種スキームはItaniumのターゲットである巨大なサーバプラットフォームには採用できない。その課題に対しての最初の成果が、当初1998年に Intel Boot Initiativeと呼ばれ、後にEFIと名前を変えた。 | ||
+ | |||
+ | ということで、複雑、高機能化するPCの機能を活かすために、従来のBIOSに変わるものとして作られたのがUEFIです。で、このUEFIで、直接我々が受けられる恩恵は何かと言うと、最近多くなってきた、大容量のHDDをブートデバイスとして使用できると言うことです。今回、サーバ側のHDDが容量不足となってまいりまして、6TBのHDDを購入し、これにLinuxを導入することといたしました。ブートさせるまでに苦労したので、今後のためにまとめておきます~。 | ||
+ | |||
+ | *必要なことをまとめておく [#b919266d] | ||
+ | -LinuxカーネルをUEFI,大容量ディスク対応にコンフィギュレーションしておく | ||
+ | -大容量HDDはGPTパーティションでパーティションを切る | ||
+ | -ブートパーティションは、EFIブートパーティション属性で、FATでフォーマットしておく | ||
+ | -ブートローダーの設定をしておく | ||
+ | -UEFIでブートできるよう設定するためには、予めUEFIでブートできるデバイスでブートしてから設定する | ||
+ | |||
+ | さて、それでは順番にやってみましょう~ | ||
+ | |||
+ | *LinuxカーネルをUEFI、大容量ディスク対応にコンフィギュレーションしておく [#o53d90e2] | ||
+ | キーワードは、EFI,GPTです。 | ||
+ | ONFIG_EFI_PARTITION=y | ||
+ | CONFIG_EFI=y | ||
+ | CONFIG_EFI_STUB=y | ||
+ | CONFIG_FB_EFI=y | ||
+ | CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y | ||
+ | CONFIG_EFI_VARS=y | ||
+ | CONFIG_EFI_ESRT=y | ||
+ | CONFIG_EFI_FAKE_MEMMAP=y | ||
+ | CONFIG_EFI_MAX_FAKE_MEM=8 | ||
+ | CONFIG_EFI_RUNTIME_WRAPPERS=y | ||
+ | CONFIG_EFI_BOOTLOADER_CONTROL=y | ||
+ | CONFIG_EFI_CAPSULE_LOADER=y | ||
+ | CONFIG_EFI_TEST=y | ||
+ | CONFIG_EFIVAR_FS=m | ||
+ | |||
+ | この辺はONにしておきましょう。 | ||
+ | |||
+ | *HDDのパーティションを切る [#ge7be6d4] | ||
+ | かつてパーティションを切るための定番コマンドはfdiskでした。が、古いバージョンは2TBの領域で、かつMBR(マスターブートレコード)に対応したブートディスクしか作成できませんでした。 | ||
+ | |||
+ | ので、gdiskを使用します。ここでは、/dev/sdaにパーティションを切りましょう | ||
+ | # gdisk /dev/sda | ||
+ | |||
+ | Command (? for help): o ←GPTパーティションデーブルを作る | ||
+ | Command (? for help): n ←パーティションを新規作成する | ||
+ | Partition number (1-128, default 1):1 | ||
+ | First sector : | ||
+ | Last sector :+128M ←カーネルやGRUB2のファームを格納できるよう128MB取っておく(/bootにマウントする予定) | ||
+ | Hex code or GUID (L to show codes, Enter = 8300): EF00 ←EFI用の領域とマークする | ||
+ | |||
+ | ここだけ気をつけてくださいね。その他のパーティションは普通にLinuxを作るときと一緒です。/rootに20GB程度?あとはお好みに応じて。その他はfdiskを使ったことある人は同じ操作でできるでしょう。 | ||
+ | |||
+ | *UEFIブートできるデバイスでブートする | ||
+ | Gentooでは、UEFIブートできるのはLiveDVDだけです。Minimal install CDだとUEFIブートしてくれないので、このあとの設定ができません…最新のLiveDVDだと、Advanced BOOT Optionで、CommandLine Modeが指定できますので、このモードを指定してブートすると、コマンドラインだけで起動してくれます。ここまでくれば簡単です。 | ||
+ | |||
+ | *ディスクをフォーマットする。 [#j1100e92] | ||
+ | さて、ここで、/dev/sda1が先程作ったEFIブートパーティション、/dev/sda2がrootで、EXT4でフォーマットすると仮定しましょうか。以下で実施しましょう | ||
+ | |||
+ | # mkfs.vfat /dev/sda1 | ||
+ | # mkfs.ext4 /dev/sda2 | ||
+ | |||
+ | *Gentooのインストール手順に従って… [#m137c998] | ||
+ | あとはおなじみ、Gentooのインストール手順です | ||
+ | |||
+ | # mount /dev/sda2 /mnt/gentoo | ||
+ | # mkdir -p /mnt/gentoo/boot | ||
+ | # mkdir -p /mnt/gentoo/sys | ||
+ | # mkdir -p /mnt/gentoo/dev | ||
+ | |||
+ | Stage Tar Ball 展開 | ||
+ | |||
+ | # mount /dev/sda1 /mnt/gentoo/boot | ||
+ | # mount -t proc proc /mnt/gentoo/proc | ||
+ | # mount --rbind /sys /mnt/gentoo/sys | ||
+ | # mount --rbind /dev /mnt/gentoo/dev | ||
+ | # chroot /mnt/gentoo | ||
+ | # env-update | ||
+ | .... | ||
+ | |||
+ | ちなみに、私はディスクの交換だったので、すでに作られていた、前システムのrootイメージをrsyncでコピーしておしまいです。 | ||
+ | |||
+ | *ブートマネージャをインストールする。 [#k25a94df] | ||
+ | efibootmgrとGRUB2をインストールします。まず、make.confに以下を追加。 | ||
+ | |||
+ | GRUB_PLATFORMS="efi-32 efi-64 | ||
+ | |||
+ | で、 | ||
+ | |||
+ | # emerge grub:2 efibootmgr | ||
+ | |||
+ | |||
+ | *HDDにGRUBを設定する [#d6bebe3b] | ||
+ | 先程からのとおり、/dev/sdaがブートディスク、/bootがEFIのブートパーティションとしますね。 | ||
+ | |||
+ | # grub2-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=gentoo_grub /dev/sda | ||
+ | # grub2-mkconfig -o /boot/grub/grub.cfg | ||
+ | |||
+ | /boot内にある、Linuxカーネルを勝手に探索して、GRUBのメニューを作ってくれます。もしカーネルをアップデートするときも、 | ||
+ | # grub2-mkconfig -o /boot/grub/grub.cfg | ||
+ | を実行して修正することをおすすめします。 | ||
+ | |||
+ | GRUBの設定は、/etc/default/grubにありますので、これをいじることで、いろいろと変更できまーす。 | ||
+ | |||
+ | *おまけ BIOS側の設定 [#bb742cc9] | ||
+ | |||
+ | マザーボードのBIOS側の設定を注意しておきましょう。 | ||
+ | -Secure BootはOFFでいい | ||
+ | CSM16 bootメニューは、できればEFI/レガシー共用としておくと良い。 | ||
+ | |||
+ | UEFIブートだからと、Secure Boot設定はしないほうが無難です。 |
(This host) = https://femt.ddo.jp