web-dev-qa-db-ja.com

ディスククローン作成後に起動しない

古い160GBディスク上のパーティションの次の構成がありました。

/sda
  /sda1 - 100MB  - NTFS - System Recovery (hidden Windows partition)
  /sda2 - 75GB   - NTFS - Windows
  /sda3 - extended partition
    /sda5 - 75GB - EXT4 - Debian
    /sda6 - 8GB  - swap - swap partition

私はGPARTを使用して、対応するパーティションの順序で新しい500GBディスクを準備しますが、異なるサイズ(およびand and 1の追加のパーティション)を作成しました。

/sda
  /sda1 - 100MB   - NTFS - System Recovery (hidden Windows partition)
  /sda2 - 160GB   - NTFS - Windows
  /sda3 - extended partition
    /sda5 - 160GB - EXT4 - Debian
    /sda6 - 32GB  - swap - swap partition
    /sda7 - 110GB - NTFS - additional partition

今まですべてが予想通りに働いていました。古いsda1を新しいsda1にクローニングしました。古いsda2を新しいsda2と古いsda5に新しいsda5にクローニングしました。ブートロードされたクローニングされず、Live CDを使用して手動で復元する必要がありました。

mount /devsda5 /mnt
--bind /dev /mnt/dev
--bind /proc /mnt/proc
--bind /sys /mnt/sys
chroot /mnt
grub-install /dev/sda5
update-grub

Windowsパーティションと同様にインストールしたカーネルを正しく検出しました。

問題がDebianに起動しようとしたときに明らかにされました。最新のカーネルで起動しましたLoading please wait...画面で起動しました。問題解決モードでの起動モードはRunning /script/local-premountで起動しました。同様に、Windowsが破損したインストールに関するメッセージで終了しようとします。

驚くべきことに、私は古いカーネルを使ってDebianに起動することができます(現在Jessie以前のカーネル上のwhezyからのJessie)。ただし、この場合、他の物理ドライブに保存されているものでさえも、一度にプロセスの影響を受けることができなかったものでも、他のパーティションをマウントできません。

問題の原因となる可能性がありますか?私はそれを考え出すのを助けるためにどのような情報を提供できますか?

編集:

私はquietオプションなしで最新のカーネルの起動を学ぶことができました。時間待った後(数分)もう1つのメッセージがあります。

Begin: Running /scripts/local-premount ... resume: Could not stat the resume device file: '/dev/disk/by-uuid/[uuid]'
        Please type in the full path name to try again
        or press ENTER to boot the system:

Iを押した後、システムは最後に起動しました。ただし、欠落しているパーティションがスワップパーティションです。

$cat /proc/meminfo | grep Mem # I have 8GBs of RAM
MemTotal:        8154632 kB
MemFree:         1367032 kB
MemAvailable:    4750344 kB
$ cat /proc/swaps
Filename                Type        Size    Used    Priority
/dev/sda6                               partition   33554428    0   -1

パーティションが実際に使用されていることを確認できますか?

2

私がパーティションを複製した後、いくつかのことがいくつかありました。

  1. linuxでは、いくつかのプログラムが/dev/sdX表記の代わりにデバイスのUUIDに依存しています。事実の問題のように。 /etc/fstabそれは推奨されています。スワップパーティションに関するエントリである私の場合、結果としてスクリプトを初期化すると、あきらめて進む前にしばらくの間マウントすることができました。

    grep -r [UUID] /では、古いスワップパーティションが使用されていたすべての場所が見つかりました。値を1つの一致するSudo blkidに置き換えました。

    /etc/blkid.tab                # swap partition
    /etc/uswsusp.conf             # hibernation device
    /var/cache/debconf/config.dat
    /etc/initramfs-tools/conf.d/resume
    

    それから私はそれらの値がinitrcスクリプトに着陸したことを確認しなければなりませんでした。 uswsuspを再インストールしてインストールすることで、手動または(マイケースで)呼び出すことで実行できます(スワップパーティションは、ハイバネーションデータを格納するためにも使用されます)。

    そのスワップパーティションが正しくロードされ、起動が早かった。

  2. windows System Restoreパーティションではクローニングされましたが、アクティブにマークされていませんでした - システム修復ツールはそれを検出してMBRセットアップを修正することができませんでした。そうしなければならなかった:

    • コマンドラインを開く(不明なシステム用)、
    • diskpartを実行する
    • list diskで正しいディスクを把握して、select disk [NUMBER]でそれを選択します。
    • list partitionで正しいパーティションを把握し、select partition [NUMBER]で選択します。
    • activeでアクティブな現在のパーティションをマークする
    • 再起動、システムの修復ツールを再度ロードして、それらにすべてを固定してください(bootrec /fixmbrbootrec /fixbootが便利になる可能性があります)。
  3. もちろん、私はそれを複製しなかったので私はGRUBを復元しなければなりませんでした:

    mount /dev/sda5 /mnt
    mount --bind /dev /mnt/dev
    mount --bind /proc /mnt/proc
    mount --bind /sys /mnt/sys
    chroot /mnt
    grup-install /dev/sda5
    update-grub 
    
2