Fstabに外部ハードドライブのエントリがあります:
UUID="680C0FE30C0FAAE0" /jgdata ntfs noatime,rw
ただし、起動時にこのドライブが接続されていない場合があります。これにより、「待ち続ける、Sを押す、またはMを押す」というプロンプトが表示され、ブートの途中になりますが、この段階ではキーを押しても何の影響もありません( Ctrl-Alt-Delete、Caps-Lockでさえありません)。
fdisk -l
の出力を確認するスクリプトを書く以外に、ブート時にこのドライブが存在する場合にのみマウントする方法を教えてください。このドライブのfdiskエントリがあると便利なので、デバイス名を必要とせずにmount /jgdata
と入力するだけです。
あなたはすべて正しい道を進んでいます。私はもう少しきれいで良い形である方法を見つけました。
fstab
に追加する正しいオプションはnofail
ですが、auto
の後に来る必要があります。 noauto
に変更すると、ブート中にマウントされません。 nobootwait
をブートローダーに追加すると、fsck
がチェックを完了する前にパーティションをマウントしたり、ブートプロセスで使用されるパーティションをマウントしないなど、重大な何かを見逃す可能性があります。
上記の変更を行った後、システムのシャットダウン中にデバイスが接続されると、システムは正常に起動します(そしてボリュームをマウントします)。また、起動時にデバイスが存在しない場合も正常に起動します。
唯一の不便な点は、システムの実行中にデバイスを接続すると、構成(テストする変数が多すぎる)によっては、デバイスがすぐにマウントされない場合があることです。これは、単純なmount -a
またはmount /specific_device
または再起動で修正できます。
私は同じ問題を抱えていました-余分なステップを1つ行いました
/etc/fstab
でnofail
オプションを使用すると、システムは起動時にディスク(およびパーティション)を探します。デバイスが接続されている場合、ファイルシステムがマウントされます。そうでない場合、ブートは通常どおり続行されます。
Arch wikiをご覧ください: https://wiki.archlinux.org/index.php/Fstab
例
UUID=XXXXXXXXXXXXXXX /myhdd ntfs auto,nofail,noatime,rw,user 0 0
デバイスを接続した状態と接続しない状態でシステムを起動しようとしましたが、問題なく動作します。
私が達成していないのは、ブート後にディスクが接続されたとき(ブート時に接続されていないとき)に自動マウントすることです。すべてを再度マウントするには、mount -a
をルートとして使用する必要があります。
noautoオプションは起動プロセスを継続させますか?
存在する場合は自動的にマウントされませんが、存在する場合は既知になるので、単純なマウント/ jgdataが機能します...スクリプト化されたマウント/ jdataは出力チェックを必要とせず、エラーをキャッチして起動し続けるだけです
編集:さらに読むと、bootwaitはおそらくより正しいオプションです...(通常はブートプロセスの後半まで存在しないネットワーク共有に使用されますが、ハング、idkを引き起こす可能性があります)
マウントスクリプトは次のように追加できます。 https://stackoverflow.com/questions/2062543/running-a-script-with-the-help-of-grub-and-menu-lst
/dev/xvdh1 /myfs xfs defaults,nofail,x-systemd.device-timeout=30 0 0
私のために働いた。
nofail...このデバイスが存在しない場合、エラーを報告しません。
x-systemd.device-timeout = 30...デバイスが存在しない場合、ブートに30秒長くかかります(デフォルトは90です)秒)。
ソース: https://wiki.archlinux.org/index.php/fstab#External_devices
ブート時に推奨されるマウント方法は、システムに fstab ファイルを使用して指示することです。あなたのAskを見ると、私はあなたがほとんどそこにいるのを見ることができました。デバイスに自動マウントオプションを使用するように設定する指示だけが欠けていて、システムが利用可能なときにデバイスをマウントできるようにします。
そのため、fstabの行を次のように書き換えます。
# <file system> <dir> <type> <options> <dump> <pass>
UUID="680C0FE30C0FAAE0" /jgdata ntfs user,auto,rw 0 0
変更して保存したら、手動でマウントしてみてください。
$須藤マウント-a
次のことに注意することが重要です。
<options>
は、コンマで区切られた非常に特殊な形式に従って記述する必要がありますが、各コンマの後にスペースは入れません。これに注意してください;-)ありがとう!
同じ問題があります。次回の起動時にドライブが存在しないことがわかっている場合、エントリをコメントアウトするためにfstabを編集しています。次に、ドライブが存在する場合、fstabを編集してコメントを削除し、mount -aを発行します。これは完璧な解決策ではありません。システムがドライブを自動的にマウントする方法(存在する場合)を自動的にスキップする方法を見つけられたら素晴らしいと思います。 NFS共有が自動的にマウントされ、サーバーが存在しない場合も同じ問題が発生します。