web-dev-qa-db-ja.com

sdaとsdbは交換し続けます

ボックスは、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*にリストされているため、スワップとメディアのマウントが失敗します。

ので、私は持っています:

  1. BIOSを確認すると、最初のドライブとして64GB SSDが、2番目のドライブとして1TB IDE)が一貫してリストされています。

  2. ボリュームラベルでメディアドライブを参照するように/etc/fstabを変更しようとしましたが、起動時にUbuntuが失敗し、リカバリモードになりました。

  3. スワップを参照するように/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を表示させるにはどうすればよいですか?

  • および/またはスワップとメディアパーティションを確実にマウントできる他の方法はありますか?

3
Chris Becke

/etc/fstabで「disk/by-id」名を使用できます。を参照してください。

ls -l /dev/disk/by-id

これらのデバイス名は、他のファイル(initrd、grub configs)でも使用される場合があることに注意してください。したがって、grub構成を更新して、initrdを再作成することもできます。

4
rudimeier