回答:
いくつかの助けを借りてUEFIとRAID1 + LVMでのUbuntu Serverをインストールする方法、Ubuntuの18.04で設定RAID、およびUbuntuの18.04デスクトップインストーラでRAIDをサポートしていますか?そして起動時「のbtrfsファイルシステムのスキャン」を取り除くためにどのように?、私はLinuxコマンドのみを使用して作業HOWTOを組み立てることができました。
btrfs
ブートスクリプトを削除します。Install Ubuntu Server
ます。Partition disks
ステップでを選択しますManual
。Configure the Logical Volume Manager
。
Delete logical volume
すべてのボリュームが削除されるまで選択します。Delete volume group
すべてのボリュームグループが削除されるまで選択します。Configure software RAID
。
Delete MD device
すべてのMDデバイスが削除されるまで選択します。Delete the partition
。EFI System Partition
。Physical Volume for RAID
。Configure software RAID
ます。Create MD device
、と入力しRAID1
、2つのアクティブディスク、0つのスペアディスク、および/dev/sda2
および/dev/sdb2
デバイスを選択します。Configure the Logical Volume Manager
ます。vg
を作成します/dev/md0
。swap
16Gでroot
35Gでtmp
10Gでvar
5Gでhome
200Gでswap
パーティションを選択Use as: swap
。Use as: ext4
適切なマウントポイント(と/
、/tmp
、/var
、/home
、それぞれ)。Finish partitioning and write changes to disk
ます。以前にRAID構成があったドライブに再インストールする場合、上記のRAID作成手順が失敗し、md
デバイスが取得されない場合があります。その場合、gparted
このHOWTOを再起動する前に、Ubuntu Live USBスティックを作成して起動し、実行してすべてのパーティションテーブルをクリアする必要がある場合があります。
マウントされているEFIパーティションを確認します。ほとんどの場合/dev/sda1
。
マウント| grepブート
RAIDステータスを確認します。ほとんどの場合、同期しています。
猫/ proc / mdstat
EFIブートロードがにインストールされているはず/dev/sda1
です。そのパーティションはRAIDシステムを介してミラーリングされていないため、クローンを作成する必要があります。
sudo dd if=/dev/sda1 of=/dev/sdb1
どちらかのドライブが停止した場合、システムは(同一の)EFIパーティションからブートする必要があるため、この手順は必要ない場合があります。ただし、どちらのディスクからでも起動できるようにするのが賢明です。
efibootmgr -v
して、ubuntu
ブートエントリのファイル名を確認します。私のインストールではそれだった\EFI\ubuntu\shimx64.efi
。sudo efibootmgr -c -d /dev/sdb -p 1 -L "ubuntu2" -l \EFI\ubuntu\shimx64.efi
。シェルによっては、バックスラッシュをエスケープする必要がある場合があります。efibootmgr -v
あなたが同じファイル名を持っていることubuntu
とubuntu2
、ブート項目と、彼らは起動順序の最初の2つであることを。ドライブを物理的に取り外したり無効にしたりしてインストールをテストする場合は、最初にRAID同期が完了するまで待つ必要があります。で進行状況を監視しcat /proc/mdstat
ます。ただし、待機中に以下の手順8を実行できます。
1つのドライブに障害が発生した場合(同期が完了した後)でも、システムは起動します。ただし、ブートシーケンスはbtrfsファイルシステムの検索に多くの時間を費やします。その不要な待機を削除するには、実行します
sudo apt-get purge btrfs-progs
これによりbtrfs-progs
、btrfs-tools
とが削除されubuntu-server
ます。最後のパッケージはメタパッケージにすぎないため、削除するパッケージがリストに表示されなくなっても問題ありません。
実行sudo apt install ubuntu-desktop
して、デスクトップバージョンをインストールします。その後、おそらく同期が行われ、システムが構成され、ディスク障害に耐えられるはずです!
パッケージgrub-efi-amd64
が更新されると、EFIパーティション(にマウントされている/boot/efi
)上のファイルが変更される場合があります。その場合、更新は手動でミラーパーティションに複製する必要があります。幸いなことに、更新マネージャーから警告が出て更新grub-efi-amd64
されるので、更新のたびに確認する必要はありません。
アップデート後に再起動していない場合は、
mount | grep boot
マウントされているEFIパーティションを確認します。そのパーティションは、通常/dev/sdb1
、クローンソースとして使用する必要があります。
マウントポイントを作成し、両方のパーティションをマウントします。
sudo mkdir /tmp/sda1 /tmp/sdb1
sudo mount /dev/sda1 /tmp/sda1
sudo mount /dev/sdb1 /tmp/sdb1
各ツリーで最新のファイルのタイムスタンプを見つける
sudo find /tmp/sda1 -type f -printf '%T+ %p\n' | sort | tail -n 1 > /tmp/newest.sda1
sudo find /tmp/sdb1 -type f -printf '%T+ %p\n' | sort | tail -n 1 > /tmp/newest.sdb1
タイムスタンプを比較する
cat /tmp/newest.sd* | sort | tail -n 1 | perl -ne 'm,/tmp/(sd[ab]1)/, && print "/dev/$1 is newest.\n"'
印刷する必要があります/dev/sdb1 is newest
(ほとんどの場合)または/dev/sda1 is newest
。そのパーティションをクローンソースとして使用する必要があります。
キャッシュ/パーティションの不整合を回避するために、クローン作成の前にパーティションをアンマウントしてください。
sudo umount /tmp/sda1 /tmp/sdb1
/dev/sdb1
クローンソースの場合:
sudo dd if=/dev/sdb1 of=/dev/sda1
/dev/sda1
クローンソースの場合:
sudo dd if=/dev/sda1 of=/dev/sdb1
できた!
最初に仮想マシンでこれを試したい場合、いくつかの注意点があります。明らかに、UEFI情報を保持するNVRAMは、再起動間では記憶されますが、シャットダウンと再起動のサイクル間では記憶されません。その場合、UEFIシェルコンソールが表示されることがあります。次のコマンドは、からあなたのマシンにあなたを起動する必要があります/dev/sda1
(使用FS1:
のために/dev/sdb1
):
FS0:
\EFI\ubuntu\grubx64.efi
virtualboxでのUEFIブートのトップアンサーの最初のソリューション-Ubuntu 12.04も役立つかもしれません。
/boot
、自動レイドインストールルートに移動しようとした場合にデバイスを要求します。
@NiclasBörlinの回答で、道の約99%を得ることができました。ありがとうございます。
また、次の回答も参考にしています。
/boot
XFSのパーティションBEを。Ubuntu 18.04LTSに付属するgrub2は明らかにこれを処理しません。それはどこにも文書化されていませんが。別のEXT-4 /boot
パーティションを作成しました。これはまだRAID-1 LVMボリューム上にあり、EFIのような個別のパーティションではないことに注意してください!古い回答の多くは、これは不可能だと言っていますが、今は可能であるようです。結局、grubを取得することになったが、不明なファイルシステムエラー(たとえば、「error:unknown filesystem。grub rescue>」を修正する方法)を取得したため、手掛かりXFSを/boot
使用できなくなった。/boot
、アクセスできないことが原因でした。@NiclasBörlinの回答から始めて、いくつかの小さなことを変更します。
私は1つの大きな/
パーティションを優先するので、これはその選択を反映しています。主な変更点は/boot
、XFSパーティションではなくEXT4 パーティションです。
sda/
GPT 1M (auto-added)
sda1 - EFI - 512M
sda2 - MD0 - 3.5G
sdb/
GPT 1M (auto-added)
sdb1 - EFI - 512M
sdb2 - MD0 - 3.5G
md0/
vg/
boot - 1G - EXT4 /boot
swap - 16G - SWAP
root - rest - XFS /
インストール完了後、私はすることができたdd
の内容sda1
にsdb2
他の回答で説明するように。efibootmgr
詳細を使用して、2番目のドライブをブートチェーンに追加することもできました。