Windows から Linux への移行 - ディスク管理
今日は、Windows から Linux へのチュートリアルの最近のテンプレートから脱却したいと思います。このテンプレートは、さまざまなプログラムをインストール、構成、および使用する方法を示すことに重点を置いており、通常は Windows 用に設計または意図されており、次のようなフレームワークを使用しています。ワイン。今日お話しするのは、ディスクとドライブの管理に関するジューシーなトピックです。
アプリケーション以外にも、考慮すべきデータがあります。そして、データはすべてにとって重要です。 Windows と Linux の根本的な違いを考えると、事態はさらに複雑になります。前者は NTFS を使用し、データはドライブ (C:、D:など) に編成されます。 Linux はすべてを 1 つのファイル システム ツリー (ルート、/) の下に格納し、異なるファイル システム形式 (ext4 など) を使用しますが、NTFS を処理できます。では、自分のものを移動しようとしている場合はどうなりますか?このチュートリアルは、秩序、シンプルさ、明快さを求めている人にぴったりの提案です。
予備読書
このガイドは、孤立して生きることはできません。私たちが従わなければならない物理法則がいくつかあります。まず、ディスクやドライブの管理、ファイルシステムなどについて何も知らない場合、この記事はあなたのためのものではありません。これらの原則の基本的な基盤が必要です。現実的になりましょう。この記事は、Linux の実務経験がほとんどない (まだ) とはいえ、オタク向けです。
とはいえ、これ以上掘り下げる前に、熟読すべき私の記事をいくつか紹介します。
GParted パーティショニング ソフトウェアのチュートリアル
Windows 初心者向けの究極の Linux ガイド
同じだけど違う
専門用語と技術的な詳細がわかったので、シナリオについて説明しましょう。 2 つの物理ディスクと合計 5 つのディスク パーティションを持つ Windows マシンがあるとします。レイアウトが次のようになっているとしましょう:
- C:\ ドライブ - Windows およびコア オペレーティング システム ファイル、プログラム ファイル、ユーザー データ。
- D:\ ドライブ - ゲームのインストール (たとえば、Steam を含む)
- E:\ ドライブ - ユーザーのデータ (ファイル、映画、音楽、ドキュメントなど) は、マイ ドキュメントなどには保存されません。
- F:\ ドライブ (2 番目のディスク上) - バックアップに使用。ここでは、ユーザー データは週に 1 回コピーされます。
- H:\ ドライブ (2 番目のディスク上) - 重要でないもの (ダウンロード、生のビデオなど) に使用されます。
ここで、次のディスク構成を持つコンピューターの所有者が Linux への移行に関心があるとします。そのため、彼らが行うことは次のとおりです:
ディスクのパーティションを再分割します。具体的には、H:\ ドライブを縮小し、解放された (現在は空になっている) 領域に多数の新しいパーティションを作成します。次に、Linux ディストリビューションをここにインストールします。現在、彼らはデュアル ブート システムを実行しており、コンピューターの電源を入れるか再起動すると、Linux または Windows 環境で続行するかどうかを選択できるメニューが表示されます。
ご覧のとおり、上記のリンクのようなさまざまなデュアル ブートの記事や、Windows 7 と Ubuntu および Windows 7 と CentOS のガイドで、これとかなり似たシナリオの概要を説明しました。これは、同様の冒険をするための良い基準点となるだけでなく、Linux でのディスク管理の最初の違いがどのように見えるかを理解するのにも役立ちます.
現在、ユーザーは 2 つのオペレーティング システムを備えたシステムを使用しています。ただし、問題があります。大部分のデータは依然として Windows に存在するか、NTFS ファイルシステムでフォーマットされた Windows ドライブに保存/保持されます。ここでいくつか質問があります:
- ユーザーは Windows データにアクセスできますか?
- ユーザーは Windows データを変更できますか?
- ユーザーは Windows ドライブから他のパーティションのネイティブ Linux ファイルシステムにデータを移行できますか?
- ユーザーは (必要に応じて) NTFS ファイルシステムをネイティブの Linux ファイルシステムに変換できますか?
では、これらに答えましょう!
- Linux は大きな問題なく NTFS ファイルシステムを読み取ることができます。ほとんどのディストリビューションはこれをネイティブにサポートしています。
- 同様に、Linux は NTFS ファイルシステムに書き込むことができます。ただし、すべてのディストリビューションがそのままでこの機能を備えているわけではありません。この問題の解決策は、必要な機能を提供する NTFS-3g ユーティリティをインストールすることです。たとえば、CentOS、AlmaLinux、Rocky Linux などの Red Hat ディストリビューションでは:
sudo dnf install ntfs-3g ntfsprogs
- ユーザーはデータを移行できますが、上記のシナリオでは、新しく作成された Linux パーティションに、データ、バックアップ、およびその他のビットを含むすべての Windows のものを収容するのに十分な空き容量がない可能性があります。
- ファイル システムの変換は、データの損失につながる可能性がある危険な操作です。完全で検証可能なデータのバックアップを実施しない限り、これを行うべきではありません。さらに言えば、バックアップがある場合は、ネイティブ ファイル システムでパーティションをフォーマットし、データをコピーすることもできます。
ディスク管理の不透明性
ディスク容量の不足および/または簡単なデータ移行パスに対する解決策は、Linux システム内に Windows データを提示することですが、簡単に識別できるようにし、実用的なデータ バックアップを可能にすることです。私が言いたいことを説明するには、次のことを考慮してください:
Linux では、すべてのパスが 1 つのルート (/) に解決されます。たとえば、/home/igor は、「igor」という名前のユーザーのホーム ディレクトリへのマウント ポイントになります。ただし、そのディレクトリの物理マッピングはどこでもかまいません。別のパーティション、別のディスク、さらには別のシステム (ネットワーク上) である場合もあります。例:
- ルート ファイルシステム (/) は、/dev/sda1 (最初のディスクの最初のパーティション) のマウント ポイントです。
- home/igor はディレクトリであり、個別のマウント ポイントではありません。データは /dev/sda1 (同じディスク) にあります。
- または、パス /home/igor が /dev/sda2 または /dev/sdc7 または NFS、CIFS、または Samba 共有に解決される場合もあります。
これは、ユーザーが Windows ドライブをマウントした場合、それらは単一のルート ファイルシステムの一部として Linux に表示され、必ずしも他の場所やパスから識別できるとは限らないことを意味します。もう一度例を示します:
ほとんどの Linux システムは、リムーバブル、外部、または非 Linux デバイスを /run/media または /media の下にマウントします。したがって、これらの場所の下に 2 つのディレクトリが表示された場合、名前が付けられていても、必ずしもそれらを区別できるとは限りません。 1 つは内部 Windows NTFS フォーマットのパーティションで、もう 1 つは FAT32 フォーマットの USB ドライブです。
解決策、それから
この問題を回避するには、次の方法を使用します:
- ルートの下にドライブ (/drives) という新しい最上位ディレクトリを作成します。
- 内部では、Windows ドライブのマウント ポイントとして機能するディレクトリを作成し、文字を識別子として使用します。たとえば、/drive/C は C:\ ドライブのマウント ポイントとして使用され、/drive/E は E:\ ドライブのマウント ポイントとして使用されます。
- /etc/fstab の下に Windows ドライブの永続的なマウント ルールを作成します (これについては後ほど説明します)。これは、システムの起動時に、Windows ドライブが書き込み可能なデバイスとしてマウントされ、最上位の /drives の場所の下にディレクトリとして表示されることを意味します。
この方法は何を保証しますか?
このアプローチには多くの有益な利点があります:
- Linux のみまたは純粋な Linux のパスと Windows のパスを明確かつ視覚的に分離できます。
- Linux 以外のすべてのデバイス/パーティションを汎用ディレクトリの下に混在させるわけではありません。
- バックアップ スクリプトを実行すると、すべてがコピーまたはバックアップされるのではなく、必要なものだけが確実にコピーまたはバックアップされます。 Linux システムの完全バックアップを行っていて、他のファイルシステムとドライブがマウントされている場合、必ずしもそれらをバックアップに含める必要はなく、すべての「不明な」パスを考慮する必要はありません。 .
やり方はこちら
前の例に従って、最初のステップは、Linux が内部ハード ディスクをどのように「認識」し、Windows ドライブをどのように識別するかを理解することです。ここでも、少し専門知識が必要です。 fdisk などのコマンドライン ツールを使用して、デバイスとそのパーティションのリストを出力できます。以下を仮定しましょう:
- /dev/sda1 - C:\ ドライブ
- /dev/sda2 - D:\ ドライブ
- /dev/sda3 - E:\ ドライブ
- /dev/sdb1 - F:\ ドライブ
- /dev/sdb2 - H:\ ドライブ
- /dev/sdb3 - Linux ルート (/)
- /dev/sdb4 - Linux スワップ
- /dev/sdb5 - Linux ホーム (/home)
/drives 最上位パスとその下のディレクトリを作成します (Windows ドライブのみ):
sudo mkdir /drives
sudo mkdir /drives/C
sudo mkdir /drives/D
...
ここで、root または sudo として、/etc/fstab ファイルのバックアップを作成し、テキスト エディター (nano など) で編集します。
sudo cp /etc/fstab /home/"your user"/fstab-backup
sudo nano /etc/fstab
テキスト エディターで、マウント ポイントを Windows ドライブに追加します。
/dev/sda1 /drives/C ntfs-3g defaults,locale=utf8 0 0
/dev/sda2 /drives/D ntfs-3g defaults,locale=utf8 0 0
...
ここには何がありますか?
- マウントする実際のデバイス/パーティションを指定します。
- マウント ポイントを指定します。
- ファイル システムを指定します。この場合、ntfs-3g ファイル システム ドライバを使用します (読み取り/書き込みアクセスを許可します)。
- マウント オプションを指定します - デフォルトと UTF8 エンコーディングでシンプルに保ちます。
- 最後の 2 つのフィールド (dump と fsck) を 0 に設定して、従来の Linux 操作から除外します。
これは私のシステムの 1 つからの実際の例です:
# <ファイル システム> <マウント ポイント> <タイプ> <オプション> <ダンプ> <パス>
# / はインストール中に /dev/nvme0n1p5 にありました
# /boot/efi は /dev/nvme0n1p1 にありましたインストール中
UUID=7f4087e7-e572-44fd-a4a1-7489099937a0 / ext4 errors=remount-ro 0 1
UUID=C05A-951D /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0
/dev/nvme0n1p3 /drives/C ntfs-3g defaults,locale=utf8 0 0
最初の 3 つのコメント化されていないエントリは、ルート (/)、UEFI システムで必要な /boot/efi (VFAT ファイルシステムも表示されます)、スワップ パーティションではなくスワップファイルを含む、Linux ファイルシステムのマウント エントリです。
4 番目のエントリは、Windows ドライブの追加です。デバイス識別子は /dev/sdaXY ではなく、/dev/nvmeXnYp3 であることに注意してください。これは、システムに NVMe ハードディスクがあり、Linux システムがそれを IDE/SATA/SCSI デバイスとは異なる方法で識別するためです。しかし、すべての実用的な目的のために、表記法は同じです。
最初 (0) の NVMe バス、最初 (1) のデバイス、3 番目 (3) のパーティションです。繰り返しになりますが、デバイスとパーティションの表記が異なるため、以前のハード ディスク管理に関するガイドと GRUB チュートリアルを参照してください。したがって、上記の例では、Windows パーティション (実質的には NVMe ディスクの 3 番目のパーティション) を /drives/C の下にマウントします。
効果を確認するために再起動する必要はありません。すべてを再マウントするだけです:
sudo マウント -a
これで、Windows ドライブが対応するパスにマウントされ、データが表示されます。次のステップは、マウントされたデータを使いやすく、アクセスしやすくすることです。
ファイル マネージャーと Windows ドライブ
(コマンドラインではなく) GUI からデータを使用したい場合は、次のトリックを実行できます:
- ホーム ディレクトリに、マウントされたドライブへのシンボリック リンクを作成します。
- より具体的には、各ドライブ (文字) を、Windows ドライブ名などの意味のある識別子を持つフォルダーにシンボリックにリンクします。
ln -s /ドライブ/C ~/Windows
上記のコマンドは、ホーム ディレクトリにシンボリック リンクを作成します。 Windows は、C:\ ドライブへのマウント ポイントである /drives/C にマップされます。そのため、Linux ファイル マネージャーで Windows フォルダーをクリックすると、Windows ドライブの内容が表示されます。
ここで、さらに一歩進んで、これらのドライブへのショートカットを作成できます。たとえば、Plasma デスクトップ環境では、サイドバーにショートカットを追加できるため、Windows は /drives/C にマップされ、ゲームは /drives/D にマップされ、データは /drives/E にマップされます。次のステップは、潜在的にバックアップ タスクをフローに追加することですが、それは別のチュートリアルのトピックです。
結論
私のチュートリアルは、データ管理の聖杯ではありません。それからはほど遠い。しかし、Windows から Linux に移行する際に直面する可能性のある一般的な問題について、適切な提案を提供します。 Windows データを視覚的で直感的な方法で表示する方法を提供します。破壊的な操作は含まれません。これにより、便利なバックアップとデータの分離が可能になります。また、Windows ワークフローに慣れている人は、慣れ親しんだ手がかりや確立されたワークフローを損なうことなく、新しい環境にゆっくりと順応することができます。
独自のパスにマウントされた Windows 専用ドライブ、GUI ツールを介した便利なアクセスを提供するシンボリック リンク、および論理マッピングにより、移行のための優れた強固な基盤が得られます。次のステップは、重要なデータがバックアップされていることを確認することです。バックアップのないデータは、悲劇が待っているだけだからです。それについては、フォローアップ記事で他の多くの実用的な日常のヒントと同様にカバーします.ここでは、上で概説したデータ スキームについて少し考えてみましょう。また、追加のプログラム セットアップ ガイドにご期待ください。また会いましょう。
乾杯。
-
Windows のディスク スペース クリーンアップ ツールと方法
場合によっては、Windows ボックスのスペースが不足することがあります。適切な計画を立てれば、これは決して起こらないはずです。たとえば、オペレーティング システム (C:) は独自のパーティションにあり、常に新しいソフトウェアをインストールするわけではなく、すべてのデータとゲームは別のパーティションとドライブに保存されます。このようにして、不定期の Windows 更新を除けば、C:ドライブのディスク使用量は一定に保たれます。 これらのことを何もしないと仮定すると、ディスク容量の使用制限があなたを悩ませるようになるかもしれません.その時点で、いくつかのクリーンアップを行う必要があります。
-
Windows 10 へのアップグレード (Windows 7 から) - 驚くほどスムーズ
少しティーザーから始めましょう。今後数週間で、Windows 10 に関する記事がたくさん出てきます。それらは主に、前述のオペレーティング システムを搭載した新しいデバイスのインストール、Windows 7 から Windows 10 への古いデバイスのアップグレード、およびそれに続く必須のインストール後の微調整と変更を中心に展開します。タイトルが微妙に示唆しているように、真ん中のオプションから始めましょう. Windows 7 の期限が迫っているため (現在は過ぎ去っています)、古い Windows 7 デスクトップの 1 つをこの実験のために犠牲にすることにしました。つまり、大したことで