/dev/sdaが存在しますが、/dev/sda1と/dev/sda2がありません。

/dev/sdaが存在しますが、/dev/sda1と/dev/sda2がありません。

を実行して取得したfile.imgファイルがありますdd if=/dev/sda of=file.img。これは、2つのパーティション/ dev / sda1と/ dev / sda2を持つデバイスで行われます。同じイメージで新しいデバイスをフラッシュするために、ネットワークブートを使用してAlpine Linuxを起動し、ネットワークからfile.imgをコピーして実行しましたdd if=file.img of=/dev/sda。この操作は正常に完了し、再起動するとデバイスが正常に起動しました。

問題は、新しいデバイスにいくつかのファイルを追加したいということです。もちろん、私は/dev/sda2(私が何かを追加したいデバイス)をマウントし、そこに何かを追加すると思いました。まあ、それほど単純ではありません。 /dev/sda2が時々欠落していることがあります。 ddコマンドを実行した後、時々(パターンが観察されない)パーティションが失われます。ディスクチェックを使用すると、両方のfdisk -l /dev/sdaパーティションが表示されます。

実行するとpartprobe /dev/sda; dmesg常に表示されるので(dmesgコマンドはこの情報を印刷します)、パーティションがありsda: sda1 sda2認識されています。それにもかかわらず、彼らはに登場しませんでした/dev/

面白いのは、partprobe /dev/sda走ると問題が解決する時もそうでない時もあるということです。

すべての狂気の中でもデバイスを再起動すると、常に正しく起動します。

私が何を試すことができるかを知っている人がいる場合は、アイデアに非常に感謝します。

ありがとうございます。

PS:私も走ってみましたpartx -uv /dev/sda。これは私に次のように伝えます。

partition: none  disk: /dev/sda, lower: 0, upper: 0
/dev/sda: partition table type 'dos' detected
/dev/sda: partition #1 added
/dev/sda: partition #2 added

しかし、まだ/dev/sdaXにパーティションが見つかりません。

ベストアンサー1

この問題の解決策を探している人は、次のことができます。

  1. / devの下にデバイスエントリを作成します。 /dev/sda2 を追加する例は次のとおりです。

mknod -m 660 /dev/sda2 b 8 2

  1. 走りましょう

mdev -s

2番目のコマンドは私の人生をより簡単にし、今までは何の問題もなく働いています。 Mdevのマニュアルページ:

Usage:
    mdev [-vS] 

        -v        Verbose
        -S        Log to syslog too
        -s        Scan /sys and populate /dev
        -d        Daemon, listen on netlink
        -f        Run in foreground

おすすめ記事