ボックスは、Ubuntu16.04を実行しているHPマイクロサーバーです。最近、ブートデバイスを64GBSSDに「アップグレード」しました。さらに、1TBのSATAドライブがあります。
通常、プライマリパーティション(SSD上)として/dev/sda1
、スワップとして/dev/sda5
を使用して起動し、/dev/sdb1
は/mnt/media0
にマウントされた1TbHDD上のパーティションを指します。
問題は、それがすべてを変更することがあり、SSDが/dev/sdb1
と/dev/sdb5
になり、メディアパーティションが/dev/sda1
になったことです。
もちろん、これにより、以前の/etc/fstab
名を使用して/dev/sd*
にリストされているため、スワップとメディアのマウントが失敗します。
ので、私は持っています:
BIOSを確認すると、最初のドライブとして64GB SSDが、2番目のドライブとして1TB IDE)が一貫してリストされています。
ボリュームラベルでメディアドライブを参照するように/etc/fstab
を変更しようとしましたが、起動時にUbuntuが失敗し、リカバリモードになりました。
スワップを参照するように/etc/fstab
を変更しようとしましたが、(ext4)UUIDを使用したメディアパーティション(実際にはプライマリパーティションがリストされているため)しかし次に2番目の問題が発生します。
以下を実行して、さまざまなパーティションのUUIDを見つけると...
ls /dev/disk/by-uuid
blkid
どちらも1つのエントリ(プライマリパーティションのUUID)のみを一覧表示します。メディアパーティションのUUIDは、(実際には、明らかにsdb1
が割り当てられているブートで)を使用してのみ確認できます。
tune2fs -l /dev/sdb1
しかし、繰り返しますが、そのUUIDを/etc/fstab
で使用すると、Ubuntuは起動に失敗し、リカバリモードになります。
だから、私の質問は次のとおりです。
ドライブ間のスワップを停止するために/dev/sda
と/dev/sdb
を取得する方法はありますか?
fstab
で使用できるように、システムに他のパーティションのUUIDを表示させるにはどうすればよいですか?
および/またはスワップとメディアパーティションを確実にマウントできる他の方法はありますか?
/etc/fstab
で「disk/by-id」名を使用できます。を参照してください。
ls -l /dev/disk/by-id
これらのデバイス名は、他のファイル(initrd、grub configs)でも使用される場合があることに注意してください。したがって、grub構成を更新して、initrdを再作成することもできます。