📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

 
(同じ利用者による、間の14版が非表示)
157行目: 157行目:


== クローン ==
== クローン ==
==== ddrescueコマンドの使用 ====
==== ddrescueコマンド ====
ddrescueコマンドは、データの複製と復元のために設計されたツールである。<br>
ddrescueコマンドは、データの複製と復元のために設計されたツールである。<br>
<br>
<br>
179行目: 179行目:
*#: <code>make install</code>
*#: <code>make install</code>
<br>
<br>
故障および故障寸前のストレージをクローンする場合は、以下に示すように、ddrescueコマンドを2回実行する。<br>
故障および故障寸前のストレージをクローンする場合は、<code>ddrescue</code>コマンドを2回実行する。<br>
以下の例では、/dev/sdXがクローン元のストレージ、/dev/sdYがクローン先のストレージである。<br>
# まず、読み取りエラーが存在しないブロックを全てコピーして、エラーをファイルにマッピングする。
# まず、読み取りエラーが存在しないブロックを全てコピーして、エラーをrescue.mapにマッピングする。
#: <code>sudo ddrescue -n <クローン元のストレージ> <クローン先のストレージ> <エラーをマッピングするファイル></code>
#: <code>sudo ddrescue -n /dev/sd<span style="color:#C00000">X</span> /dev/sd<span style="color:#C00000">Y</span> ~/rescue1.map</code>
#: 例 : <code>sudo ddrescue -n /dev/sd<span style="color:#C00000">X</span> /dev/sd<span style="color:#C00000">Y</span> ~/rescue1.map</code>
#: <br>
#: <br>
# 次に、クローンされるデータの読み込みを3回試行して、不良ブロックのみをクローンする。<br>もし、読み込みできない場合は、該当ブロックのデータはクローンしない。
# 次に、クローンされるデータの読み込みを3回試行して、不良ブロックのみをクローンする。<br>もし、読み込みできない場合は、該当ブロックのデータはクローンしない。
#: <code>sudo ddrescue -d -r3 /dev/sd<span style="color:#C00000">X</span> /dev/sd<span style="color:#C00000">Y</span> ~/rescue2.map</code>
#: <code>sudo ddrescue -d -r3 <クローン元のストレージ> <クローン先のストレージ> <エラーをマッピングするファイル></code>
#: 例 : <code>sudo ddrescue -d -r3 /dev/sd<span style="color:#C00000">X</span> /dev/sd<span style="color:#C00000">Y</span> ~/rescue2.map</code>
#: <br>
#: <br>
# クローン先のストレージのファイルシステムが正常かどうかを確認する。
# クローン先のストレージのファイルシステムが正常かどうかを確認する。
#: <code>sudo fsck -f /dev/sd<span style="color:#C00000">Y</span></code>
#: <code>sudo fsck -f /dev/sd<span style="color:#C00000">Y</span></code>
<br>
==== sgdiskコマンド ====
<code>sgdisk</code>は、コンソールにおけるGPTマニピュレータである。<br>
<br>
<u>※GPTについて</u><br>
<u>GPT(GUID Partition Table)とは、グローバル一意識別子(GUID)を使用したストレージ上のパーティションテーブルのレイアウトの規格である。</u><br>
<u>GPTは、パーティションテーブルのレイアウトを定義するEFI標準の一部である。</u><br>
<br>
<code>sgdisk</code>コマンドを使用してGPTのストレージを別のストレージにクローンする。<br>
sudo sgdisk -R <クローン先のストレージ> <クローン元のストレージ>
<br>
パーティションテーブルをクローンした後、クローン先のストレージに新しいGUIDを設定する。<br>
sudo sgdisk -G /dev/sd<span style="color:#C00000">X</span>
<br>
==== Clonezilla ====
[https://clonezilla.org/downloads.php Clonezillaの公式サイト]からイメージファイル(Stable)をダウンロードする。<br>
ダウンロードしたイメージファイルをUSBメモリ等へ書き込む。<br>
<br>
PCをシャットダウンして、クローン先のストレージとUSBメモリをPCに接続する。<br>
PCの電源を投入して、UFEI/BIOS画面から起動ディスクを選択してUSBメモリからClonezillaを起動する。<br>
<br>
[Clonezilla live (VGA with large font & To RAM)]を選択して[Enter]キーを押下する。<br>
表示言語を選択した後、[キーボードの種類]を選択する。<br>
[Start Clonezilla] - [device-device] - [Beginner mode] - [disk_to_local_disk]を選択する。<br>
<br>
まず、[Choose local disk as source]画面に切り替わるので、<u>クローン元のストレージを選択</u>する。<br>
次に、[Choose local disk as target]画面に切り替わるので、<u>クローン先のストレージを選択</u>する。<br>
[オプション選択]画面では、[-sfsck]を選択する。<br>
[-p choose]または[-p poweroff]を選択する。<br>
<br>
[クローン実行]画面に切り替わるので、[Enter]キーを押下する。<br>
[Are you sure you want to continue?(y/n)]メッセージでは、クローン先のストレージを確認して[Y]キーを押下する。<br>
再度、[Are you sure you want to continue?(y/n)]メッセージが表示されるので、[Y]キーを押下する。<br>
クローンが実行される。<br>
<br>
クローンの終了後、[Enter]キーを押下する。<br>
エラーメッセージが無ければ正常に成功している。<br>
<br>
[poweroff]を選択してClonezillaを終了する。<br>
<br>
<u>※注意</u><br>
<u>ただし、Clonezillaの場合、各パーティションのサイズが変化しないことに注意する。</u><br>
<u>そのため、GPartedを使用して各パーティションを移動およびリサイズする必要がある。</u><br>
<br>
==== GParted ====
Partedコマンドをグラフィカルに使用できるツールがGPartedである。<br>
GPartedのインストールについては、[[設定 - ストレージのフォーマットとパーティション#GPartedのインストール]]を参照すること。<br>
<br>
また、GPartedはソフトウェアだけでなく、イメージファイルをUSBメモリに書き込んで利用できる形でも提供されている。<br>
[https://gparted.org/download.php GPartedの公式Webサイト]を参照すること。<br>
<br>
<u>※GPartedのイメージファイルを使用する場合</u><br>
<u>[GParted Live(Default settings)]を選択する。</u><br>
<u>[言語/キーボード選択]では、[Don't touch keymap]を選択して、[Which language do you prefer?]においてUSキーボードの場合は<code>33</code>、JPキーボードの場合は<code>15</code>を入力する。</u><br>
<u>[Which mode do you prefer?]は<code>0</code>を入力する。</u><br>
<br>
下図のようにパーティションが区切られているとする。<br>
例えば、Partition 2と未割り当て領域を結合する場合、隣接するパーティション同士のみ結合できるため、Partition 3を後方に移動する必要がある。<br>
[[ファイル:Storage Clone GParted 1.png|フレームなし|中央]]
<br>
# まず、Partition 3を後方に移動する。<br>GPartedを起動して、[パーティション]メニューバー - [リサイズ/移動]を選択する。<br>または、移動するパーティションを右クリックして、[リサイズ/移動]を選択する。
# 警告アラートが出力される場合は、[OK]ボタンを押下する。
# [リサイズ/移動]画面が開くので、画面上部のグラフを右端までドラッグする。<br>[後方の空き領域]項目が<code>0</code>になっていることを確認して、[リサイズ/移動]ボタンを押下する。
#: <br>
# 次に、Partition 2をリサイズする。<br>GPartedの[パーティション]メニューバー - [リサイズ/移動]を選択する。<br>または、リサイズするパーティションを右クリックして、[リサイズ/移動]を選択する。
# 警告アラートが出力される場合は、[OK]ボタンを押下する。
# [リサイズ/移動]画面が開くので、画面上部のグラフを右端までドラッグする。<br>[後方の空き領域]項目が<code>0</code>になっていることを確認して、[リサイズ/移動]ボタンを押下する。
# これにより、Partition 2と未割り当て領域が隣接状態となる。
#: <br>
# 再度、Partiton 2を右クリックして、[リサイズ/移動]を選択する。
# 警告アラートが出力される場合は、[OK]ボタンを押下する。
# [リサイズ/移動]画面が開くので、画面上部のグラフを右端までドラッグする。<br>[後方の空き領域]項目が<code>0</code>になっていることを確認して、[リサイズ/移動]ボタンを押下する。
#: <br>
# GPartedの画面下部に、上記の操作が表示されているので確認する。
# GPartedの画面上部にある[✓]ボタンを押下する。<br>最終確認アラートが表示されるので、[Apply]ボタンを押下する。
# 処理の完了後、エラーメッセージが出力されているかどうかを確認する。
<br><br>
<br><br>


383行目: 463行目:
LUKSパーティションを作成して、マウントする。(最初に設定したパスワードを入力する)<br>
LUKSパーティションを作成して、マウントする。(最初に設定したパスワードを入力する)<br>
フォーマットする必要はない。(<u>データが全て削除されてしまうため注意すること</u>)<br>
フォーマットする必要はない。(<u>データが全て削除されてしまうため注意すること</u>)<br>
  sudo cryptsetup luksOpen /dev/sdXY <マッピング名>
# <span style="color:#C00000">X</span> : ストレージ番号
# <span style="color:#008000">Y</span> : パーティション番号
  sudo cryptsetup luksOpen /dev/sd<span style="color:#C00000">X</span><span style="color:#008000">Y</span> <マッピング名>
  sudo mount <マッピング先のディレクトリ> <マウント先のディレクトリ>
  sudo mount <マッピング先のディレクトリ> <マウント先のディレクトリ>
<br><br>
== 外部ストレージの管理者認証 ==
ファイルマネージャでシステム以外のストレージにアクセスする場合、管理者認証を要求される場合がある。<br>
管理者認証なしでアクセスできるようにするには、外部ストレージデバイスのマウント権限に関する設定を行う。<br>
<br>
この認証要求は、Linuxシステムのポリシー設定 (Polkit) によって管理されている。<br>
<br>
まず、現在のユーザをwheelユーザに登録する。<br>
sudo usermod -aG wheel $USER
<br>
次に、Polkitのルールファイルを作成する。
sudo vi /etc/polkit-1/rules.d/50-external-storage.rules
<br>
<syntaxhighlight lang="javascript">
// /etc/polkit-1/rules.d/50-external-storage.rulesファイル
javascriptpolkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.udisks2.filesystem-mount-system" &&
      subject.isInGroup("wheel")) {
      return polkit.Result.YES;
    }
});
</syntaxhighlight>
<br>
上記のルールは、wheelグループに属するユーザに対して、ファイルシステムのマウント操作を認証なしで許可するものである。<br>
<br><br>
<br><br>


399行目: 507行目:
<br>
<br>
この時、ファイルシステムを復元する。<br>
この時、ファイルシステムを復元する。<br>
  sudo fsck /dev/sd<span style="color:#C00000">X</span><span style="color:#00C000">Y</span>
  # <span style="color:#C00000">X</span>はストレージ番号
  # <span style="color:#C00000">X</span>はドライブ名
# <span style="color:#008000">Y</span>はパーティション番号
# <span style="color:#00C000">Y</span>はパーティション名
  sudo fsck /dev/sd<span style="color:#C00000">X</span><span style="color:#008000">Y</span>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]]
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]]