GNU/Linux >> Linux の 問題 >  >> Linux

Windows –パーティションスキームを台無しにしたときにWindowsがLinuxファイルシステムを破壊しないようにするにはどうすればよいですか?

友人が最近、インストーラーのデフォルトのデュアルブートパーティションスキームを使用して、Windows10とのデュアルブートでManjaroLinuxをインストールしたシステムを持っています。
昨日、Windowsは自分自身を更新することにしました(悪名高いCreator's Update、私は推測します)、Manjaroは起動しませんでした。
liveUSBからログインするように友人に指示しました。これは、sudo fdisk -lです。 出力:

Disk /dev/nvme0n1: 238,5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: DBCB2883-9E10-40F3-8007-B1B409A79DF5

Dispositivo        Start      Fine   Settori   Size Tipo
/dev/nvme0n1p1      2048    206847    204800   100M EFI System
/dev/nvme0n1p2    206848    239615     32768    16M Microsoft reserved
/dev/nvme0n1p3    239616 123472110 123232495  58,8G Microsoft basic data
/dev/nvme0n1p4 497999872 500097023   2097152     1G Windows recovery environment
/dev/nvme0n1p5 123472112 497999871 374527760 178,6G Linux filesystem

Partition table entries are not in disk order.

Partition table entries are not in disk order.
:どうやら、パーティションがあります(/dev/nvme0n1p4 )これは、物理的にメインのLinuxの後にあります(/dev/nvme0n1p5 )、しかし数値的には前。これはかなり非標準に見えるので、Windowsがパーティションテーブルを台無しにしたと思います。

実行後:

sudo mount /dev/nvme0n1p5 /mnt
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
sudo grub-install --target=x86_64-efi --efi-directory=/mnt/boot/efi --bootloader-id=manjaro --boot-directory=/mnt/boot --recheck --debug

システムが再起動し、正常に機能しているようです。

質問は次のとおりです:

ext4がない場合、Windowsはパーティションテーブルをどのように混乱させることができますが、何も破損することはありません。 私が知っている知識? 「数値」のパーティション順序を変更しただけですか?正確には何をしましたか?

承認された回答:

パーティションには何もしなかった可能性がありますが、EFIブートを書き直して、それ自体を唯一の/デフォルトのOSにする(しようとする)だけです。もちろん、ディスクにWindows 10をインストールしたら、なぜ他に何かが必要になるのでしょうか。

更新後、別のマシンで2、3回も問題が発生し、GRUB2の簡単な更新または再インストールで常に問題が解決しました。

パーティションの番号を付け直すと、本当に悪いことは何もできないと思います。彼らがWindowsを台無しにしないのなら、私は彼らがGRUB/GRUB2を台無しにしないことをかなり確信しています。

ただし、Linuxパーティションでe2fsckを実行して、1ギガバイト短縮されていないことを確認してください。内部のFSが、それが含まれるべきパーティションよりも大きいとタグ付けされている場合、後者は盲目的にサイズ変更されているためです(Windows has それを行うためのパーティションに関する十分な知識 )、Linuxがリカバリデータを上書きするか、Windowsがリカバリデータを「更新」して、Linuxext4がそこに配置することを決定したものを上書きすると問題が発生する可能性があります。次のことが必要になる場合があります:

  • 1GBのデータをLinuxファイルにバックアップします
  • パーティションを削除し、Linuxパーティションをフルサイズにリセットします。
  • ファイルシステムを縮小して1GBを空けておきます
  • パーティションを再作成します
  • バックアップを復元する
関連:Linux – Linux tarコマンドでパスワード保護を使用する方法は?

両方のOSに対応し、友好的な条件を維持するため。


Linux
  1. Windows10とMXLinuxをデュアルブートする方法

  2. Linux – GrubコマンドラインからWindowsパーティションを起動する方法は?

  3. Linux –パケットが到着する時間を測定する方法は?

  1. LinuxでWindowsウイルスのフラッシュドライブをスキャンする方法は? (Clamavではありません)?

  2. パーティションが読み取り専用の場合の Windows 10 パスワードの回復

  3. Linux で ext3 パーティションのブロック サイズを確認するにはどうすればよいですか?

  1. Linuxがメインフレームに登場した経緯

  2. Linuxでディスクをパーティション分割する方法

  3. Windowsを修正する方法は、PassSpecializeの無人応答ファイルを解析または処理できませんでした