起動が遅い-「dev-disk-byの開始ジョブが実行中…」


108

問題がいつ発生し始めたかは思い出せませんが、VMWare Ubuntuイメージを外部SSDに移動して、どのPCでもOSを使用できるようになった可能性があります。Googleにはこの問題に関する多くのリンクはありませんが、表示されるリンクが話題になっていfstabます。たとえば、起動が遅い-「dev-disk-byの開始ジョブが実行中です...」とは何ですか?-OpenSUSEフォーラム

スクリーンショット

スワップパーティションを削除して再度作成する必要があるという言及。

私はGpartedでこれをやろうとすることができますが、スレッドで提案されているようにスワップを台無しにしたらどうなるかわからないので、私の主な懸念はUbuntuでの現在の設定を失うことです。誰でも助けることができますか?


あなたのSSDのクローンを作成することもできますし、あなたが(試してみてください:)自分自身をノックアウトすることができClonezillaをし、このために)
Grammargeek

ええ、私はそれができると思います。私はより多くのスペースを持っている何かに移動することができますので、私は帰って休日からだまで、私は待っています
CPD1

1
私はこれを修正することになりました。Gpartedを利用した場合、スワップが発生したとは思わない。最終的に作成し、fstabのエントリを変更しました。それは機能し、もう90秒のブートはありません
cpd1

1
独自の問題を解決した場合は、独自の回答を作成し、チェックをクリックして解決済みとしてマークします。)
Grammargeek

1
理にかなって...私はそれを追加しました
CPD1

回答:


115

「dev-disk-by ..によって開始された開始ジョブ」に続いて各ブート中に90秒の遅延が発生する場合は、次の手順を実行します。

  1. ソフトウェアセンターを使用してgpartedをインストールする
  2. gpartedを開き、Ubuntuが現在使用しているパーティションを確認します
  3. 以下の行を使用してfstabファイルを編集します。

    sudo -H gedit /etc/fstab
    
  4. 現在使用していないデバイスを見つける

  5. #その行の先頭にを挿入し、スペースをコメントアウトします。

  6. リセットしてください。


3
ステップバイステップの手順は、みんなに役立ちます!ありがとう!
ジョンホール

あなたが手順を与えたので、私は答えとしてあなたをタグ付け
CPD1

9
+1 ...で見つけられない人のために/etc/fstab、あなたもそれをチェックアウトすることができます/etc/crypttab-それは私の場合でした。
グジェゴルツ

7
ブロックIDが変更された場合、コメント化する代わりに、デバイスIDを修正することをお勧めします。lsblk-fを使用して、どのデバイスがどのIDに関連付けられているかを確認し、IDを置き換えます。
user1708042

3
私のために働いたのは、ステップ4を「起動時に遅延を引き起こしているデバイスのgpartedで見つかったUUIDをコピーする」に変更し、ステップ5で「fstabファイルでデバイスが見つかった場所に置き換える」です。パーティションの移動を変更すると、UUIDが変更されることがあり、それが問題の原因です。変更したパーティションの新しいUUIDを修正するだけです。
m4l490n

35

この問題は、fstabにスワップのエントリがあったとしても実際には存在しなかったという事実が原因のようです。GPartedを使用してパーティションのサイズを変更し、新しいスワップを作成しました。次に、UUIDをfstabファイルにコピーしました...

  1. 私は今スワップを持っています
  2. そして、起動は90秒以上の対数秒以内に低下します

5
メインパーティションのサイズを変更し(スワップの削除/再作成)、この問題に遭遇しました。「sudo blkid」を使用してUUIDでデバイスを一覧表示し、/ etc / fstabで新しいUUIDを使用しました。
ブラッドゴス

32

gpartedを使用すると、スワップを削除して再初期化する必要があるため、VMでプライマリパーティションのサイズを変更した後、同じ問題が発生しました。これにより、fstabファイルと一致しない新しいUUIDが設定されました。

問題を回避するには、/etc/fstab次のいずれかの方法で

  • sudo blkidプライマリパーティションのサイズを変更した後、スワップUUIDを新しいものと交換します(実行して見つける)。

  • または、プライマリパーティションのサイズ変更の前(または後)にスワップパーティションをコメントアウトします。

前者は、OSのセットアップ方法であるため推奨します。


スワップパーティションを移動した後も助けてくれました
po.pe

17

私の場合、以前は暗号化されたスワップを使用していましたが、スタートアップジョブで言及されました/dev/mapper/cryptswap1。この問題を解決するには/etc/crypttab、William MacDonaldの回答に記載されている手順に加えて、ファイルを削除する必要がありました。


6

gpartedを使用してパーティションのサイズを変更または削除する場合、多くの場合、新しいスワップパーティションを作成する必要があります。

次に、作成後にgpartedを介してスワップをアクティブにする必要があります(「スワップをアクティブにする」コマンドがあります)。

さらに、新しいUUIDを/ etc / fstabにコピーしてマウントする必要があります。そうしないと、ブート時にOSがそれを見つけようとしますが、fstabファイルには古いスワップを参照するUUIDが含まれるため無駄です。GpartedはUUIDの情報を配信しますが、ターミナルで簡単に実行できます。

sudo blkid

それを見つけるために。


4

起動時に同じ問題が発生しました。

私のでは/etc/fstabファイル、私のパーティション場合のように定義される/dev/sda1/dev/sda2などが、起動時に、数回のメッセージ「が登場開始ジョブはDEV-SDXために実行されている」(「x」は影響を受けたユニットまたはパーティション定義を)。

それを解決するために、/dev/sdxパーティションのUUIDの値を変更しました。UUIDを確認するには、ターミナルから実行しlsblk -fます。その後、影響を受けるパーティションのUUIDをコピーして、上でそれを書く/etc/fstab置き換え、ファイル/dev/sdaxを次のよう/dev/sda1に変更をUUID=xxxxxxxxxxxxxxxxxx

私にとってはうまくいきました。この情報が役立つことを願っています。


はい。これはまさにUUIDが解決する問題です。システムは、そのデバイスがどのデバイスにあるか、またはパーティションがどこにあるかに関係なく、そのIDを持つパーティションをマウントします。欠点は、パーティションを破棄/作成するか、新しいドライブをインストールするたびにUUIDを変更する必要があることです。また、パーティションを複製すると(gparted copy / paste)、同じUUIDでコピーが作成されます。これにより、元のコピーとコピーが同時にオンラインの場合に問題が発生する可能性があります。ほとんどの人にとって、これは問題ありませんが、ドライブのクローン作成/交換を行うときは、これを覚えておく必要があります。
デビッドC.

3

ドライブを交換し、UUIDが一致しなかったため、起動が遅くなりました。これにより、Ubuntuは起動中にスキャンを実行しました。

ドライブを頻繁に交換します。マウントが常に同じ場所にある場合(私のように)、UUIDを削除して直接パスを配置するだけで、スキャンエラーの発生を防ぐことができます...

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/sda1 /               ext4    errors=remount-ro 0       1
/dev/sda2 none            swap    sw              0       0

この提案はどのように起動をスピードアップしますか?参照はありますか?
モスタファアハンガラ

起動に時間がかかった彼のエラーの質問に答えていました。私は答えをより明確にしました。
ダン

1
はい、デバイス名でマウントすると問題が回避されますが、UUID(およびボリュームラベル)が解決することを意図した問題も発生します-ドライブを別の場所に接続すると(たとえば、SATAインターフェイス間で)デバイス名が変更され、マウントを壊します。どの問題に対処しやすいかを判断する必要がありますが、忘れたために問題が発生した場合は非常にイライラする可能性があるため、決定を覚えておいてください。
デビッドC.

3

主な状況:

すでに詳細に回答しています...(これらのファイルの下のUUIDを確認する必要があります)

/etc/crypttab 
/etc/fstab
/etc/grub.d/40_custom 
/boot/grub2/grub.cfg

代替状況I-Udev:

これは、起動時に実行することを意図していないルールスクリプトがある場合、udevが原因である可能性があります。スクリプトが失敗した場合、fstabステップが永久に続行するため、必要に応じてスクリプトを編集するか削除します。/etc/udev/rules.d/

代替状況II-暗号化された開発:

暗号化されたパーティションは混乱する可能性があります。メインパーティションにはUUIDがあり、マップされた復号化パーティションには、別の場所で定義する必要がある単一パーティションのメインUUIDとは異なるUUIDがetc/crypttabあり、/etc/fstab

# lsblk -o name,uuid,mountpoint
├─sda2                         727fa348-8804-4773-ae3d-f3e176d12dac
│ └─sda2_crypt (dm-0)          P1kvJI-5iqv-s9gJ-8V2H-2EEO-q4aK-sx4aDi

で実際のUUIDを指定する必要があります etc/crypttab

# cat /etc/crypttab
sda2_crypt  UUID=727fa348-8804-4773-ae3d-f3e176d12dac  none  luks

仮想UUIDは /etc/fstab

# cat /etc/fstab
UUID=P1kvJI-5iqv-s9gJ-8V2H-2EEO-q4aK-sx4aDi / ext4 defaults,errors=remount-ro 0 1

代替状況III-Ghost Dev:

起動時にマウントされるようにセットアップされているが、システムに存在しないか、USBドライブのように切り離されているデバイス。

チェックアウトは、実際にデバイスを接続lsblk -o name,uuid,mountpointし、編集/etc/fstabのみ接続されたデバイスを維持するために ORが未接続のデバイスを残すが、オプションを使用して、ブート時に無視されるようにそれらを設定noautoし、このような行を設定します

UUID=BLA-BLA-BLA /mount ext4 option,noauto,option 0 0

システムログを確認する

journalctl -ab 

systemd-analyze blame

systemd-analyze critical-chain

systemctl status dev-mapper-crypt_sda2.device

systemctl status systemd-udev-settle.service

1
ありがとう、それは非常に良い答えであり、受け入れられるべきです。ここにある他の回答のほとんどは危険な間違いであり、たとえ問題を回避したとしても、たとえばスワップデバイスの暗号化を削除するなど、それほど明白ではない他の問題をもたらします。
ワカーリム

2

確認に加えて、/etc/fstabまたは/etc/crypttab他の回答で述べたように、のカーネルパラメーターからのUUIDも確認します/etc/default/grub。しばらくの間、GRUB構成内のカーネルパラメーター/etc/fstabを検出するためだけに完全に互換性のあるシステムに非常に混乱していましたresume=…


1
これは問題の解決に役立ちました。私の/ etc / fstabは大丈夫でした。それから、さらに/etc/default/grub私もに変更を加えなければなりませんでした/boot/efi/EFI/fedora/grub.cfg。スワップパーティションを手動で変更した後、Linuxの「resume = UUID = ...」パラメータは廃止されました。
Stphane

1

待機をスキップして、「Ctrl+ c」を使用して直接ログイン画面に移動し、ソリューションで作業できます。そうでない場合、これは永遠に続くことがあります。


それは文字通りCtrl、プラスキー、cですか?
ムル

はい、それだけです:)
ラモンスアレス

0

私はこれが古いことを知っていますが、rsyncを使用してインストールのクローンを作成しているときに、このエラー(同じエラーメッセージ)に遭遇しました。fstabにエラーがないため、手作業でinitrdfsを更新した後、問題は解決しました。それを達成するために、

  1. マシンを動作するインストール環境で起動します(マルチブートマシン、それ以外の場合はlivecd)

  2. 問題のあるシステムのルートパーティションをマウントします

  3. 作業chrootとしてdev、sys、およびprocをマウントします

  4. ファイルリストのルートにchroot

  5. mkinitrdを実行します

  6. chrootを終了して再起動します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.