私は新規インストールのUbuntuユーザーであり、使い始めたいと思っています。しかし、私の重要なデータはすべてWindowsソフトウェアRAID 0アレイ上にあり、Windowsをデュアルブートしているのでそこにとどまる必要があります。 Ubuntuでこのデータにアクセスする必要がありますが、実際にアクセスできるようになるまで何もできません。
私はすでにこのテーマについてできる限り研究しており、非常に役立つ投稿を見つけることができました。
この投稿では、2台のドライブで構成されるWindows RAID 0アレイをUbuntuに表示させる方法について説明しています。使用される主なコマンドはSudo mdadm --build /dev/md0 --chunk=64 --level=0 --raid-devices=2 /dev/sdd2 /dev/sdc2
です。そのユーザーとスレッド内の他のポスターによると、実際に動作します。それは素晴らしいことです。
これらの指示に従ったことはまだありません。なぜですか?投稿には、間違ったチャンクサイズを入力した場合に書き込みを禁止する方法に関する警告が含まれています。それがどのように問題を引き起こすかは理解できます。私の懸念は、私のセットアップが彼らの例と異なることであり、コマンドが私のセットアップとまったく同じように入力されるべきかどうかはわかりません。 間違ったことをすることでそれを壊すのが怖いので、より経験豊富な誰かのアドバイスを受けたいと思っています。
これは私のセットアップが彼らの例とどのように異なるかです:
Sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
(これら3つのRAID0ドライブのみ)からの関連する出力は次のとおりです。
NAME FSTYPE SIZE MOUNTPOINT LABEL
sdb 931.5G
├─sdb1 1M
├─sdb2 127M
└─sdb3 931.4G
sdc 931.5G
├─sdc1 1M
├─sdc2 127M
└─sdc3 931.4G
sdd 931.5G
├─sdd1 166.7G
└─sdd2 764.7G
cat /proc/partitions
(これら3つのRAID0ドライブのみ)からの関連する出力は次のとおりです。
8 16 976762584 sdb
8 17 1024 sdb1
8 18 130048 sdb2
8 19 976631478 sdb3
8 32 976762584 sdc
8 33 1024 sdc1
8 34 130048 sdc2
8 35 976631478 sdc3
8 48 976762584 sdd
8 49 174763008 sdd1
8 50 801865728 sdd2
Ubuntuの「ディスク」プログラムには、ドライブの次のパーティションが表示されます。
/dev/sdb: GUID Partition Table .
/dev/sdb1: 1.0 MB, Microsoft LDM metadata.
/dev/sdb2: 133 MB, Microsoft Reserved.
/dev/sdb3: 1.0 TB, Microsoft LDM data.
/dev/sdc: GUID Partition Table partitioning.
/dev/sdc1: 1.0 MB, Microsoft LDM metadata.
/dev/sdc2: 133 MB, Microsoft Reserved.
/dev/sdc3: 1.0 TB, Microsoft LDM data.
/dev/sdd: Master Boot Record partitioning.
/dev/sdd1: 179 GB, Unknown.
/dev/sdd2: 821 GB, Unknown.
/dev/sdd: 136 MB, Unallocated space.
ここで十分な情報を提供していただければ幸いです。だから今、私の質問は次のとおりです。UbuntuからWindows RAID 0パーティションの両方にアクセスできるように、セットアップで入力する適切なコマンドは何ですか?
事前にどうもありがとうございました。
このStack Overflowの投稿のおかげで、ようやくこれが機能するようになりました。 LinuxでのWindows Spanned Disks(LDM)の復元?
このとらえどころのない情報を明らかにすることは非常に困難でした。検索には何日もかかりましたが、記事ではRAIDに言及していないため、検索できなかったので、検索結果に表示されませんでした。ただし、私のWindowsソフトウェアRAID 0でも確実に機能します。
解決策:
ソリューションは実際には非常に簡単です。 ldmtool
と呼ばれるこの目的のために特別に構築された素晴らしいツールがあります。 LDM(Logical Disk Manager)を使用するWindowsダイナミックディスクの読み取りと操作が可能です。デフォルトではインストールされませんが、Ubuntuリポジトリに含まれています。私がしなければならなかったのは、2つのコマンドを実行することだけでした。
Sudo apt-get install ldmtool
Sudo ldmtool create all
最初のコマンドはldmtool
をインストールし、2番目のコマンドは接続されたすべてのWindowsダイナミックディスクのデバイスマッピングを自動的に作成します。これらのマッピングは/dev/mapper/
にあり、mount -t ntfs /dev/mapper/mapfilename
で手動でマウントできますが、その必要はありませんでした。上記の2つのコマンドを実行した後、Ubuntuは自動的にマウントしました。それが私がしなければならなかったすべてであり、私はすぐにファイルブラウザからそれらにアクセスできました!
リンクされた投稿には、これをブートごとに自動的に行うための提案が含まれています。ファイル/etc/init/mountall.conf
を開いて、ファイルの終わり近くの[ -x /usr/bin/ldmtool ] && ldmtool create all >/dev/null || true
行の直前にexec mountall ...
行を追加します。
このソリューションの完全な功績は、それをStack Overflowの回答として投稿したChristian Hudonにあります。ありがとう!
これにさらに情報を追加するために、他のldmtool
コマンドを使用して、ボリュームの情報を照会しました。
Sudo ldmtool scan /dev/sdd
[
"e856a65f-e558-11e1-ae19-bc5ff435f790"
]
Sudo ldmtool show diskgroup e856a65f-e558-11e1-ae19-bc5ff435f790
{
"name" : "Dan-PC-Dg0",
"guid" : "e856a65f-e558-11e1-ae19-bc5ff435f790",
"volumes" : [
"Volume1",
"Volume2"
],
"disks" : [
"Disk1",
"Disk2",
"Disk3"
]
}
Sudo ldmtool show volume e856a65f-e558-11e1-ae19-bc5ff435f790 Volume1
{
"name" : "Volume1",
"type" : "striped",
"size" : 1048578048,
"chunk-size" : 128,
"hint" : "D:",
"partitions" : [
"Disk1-01",
"Disk2-01",
"Disk3-01"
]
}
Sudo ldmtool show volume e856a65f-e558-11e1-ae19-bc5ff435f790 Volume2
{
"name" : "Volume2",
"type" : "striped",
"size" : 4811194368,
"chunk-size" : 128,
"hint" : "E:",
"partitions" : [
"Disk1-02",
"Disk2-02",
"Disk3-02"
]
}
ldmtool create all
はマッピングを作成するために必要なすべての作業を行うため、上記のコマンドを実行する必要はありません。私は既に質問に自分の設定に関する情報を含めているので、それらを含めました。この情報は、後でこの投稿に出くわした人にとって役立つかもしれません。特に、ldmtool
によれば、Windowsで異なるブロックサイズで作成されているにもかかわらず、両方のダイナミックボリュームが128のチャンクサイズを使用していることがわかります。これは、ブロックサイズとチャンクサイズが同義語ではないことを意味すると思います。コマンドldmtool show disk
およびldmtool show partition
を使用して、詳細情報を表示できます。
Ubuntu 7.04 LTSマウントRAID 1は、newbyによってldmtool
を使用してWindows 7によって作成されました。** **
同じ問題がありました。上記の答えを使用して、私は運が良かったし、それを搭載しました
gksu gedit /etc/init/mountall.conf
行を変更することにより
[ -x /usr/bin/ldmtool ] && ldmtool create all >/dev/null || true
に
/bin/ldmtool create all >/dev/null || true
その後追加
/bin/mount /dev/mapper/ldm_vol_NAME-Dg0_volume1 /media/WHEREVER
私のmountall.confは今このように見えます
**fi
/usr/bin/ldmtool create all >/dev/null || true
/bin/mount -o rw /dev/mapper/ldm_vol_OCTO-CORE-Dg0_Volume1 /media/m
exec mountall --daemon $force_fsck $fsck_fix $debug_arg
end script**
以前は、2行で同じことを行うスクリプトがありました
/usr/bin/ldmtool create all >/dev/null || true
/bin/mount -o rw /dev/mapper/ldm_vol_OCTO-CORE-Dg0_Volume1 /media/m
そして追加
sh /home/ron/mirror to the end of /etc/rc.local
今ではubuntuの起動時にマウントされます
これがあなたのために働くことを私は知りません!
その他の回答は、Mint 18.3で部分的にしか機能しませんでした。
Raid0ドライブの自動マウントは、/etc/init/mountall.conf
の編集がシステムで機能しなかったため、/etc/fstab
の定義を使用してスパンボリュームをマウントし、 /etc/rc.local
。
だからここに私がやったことがあります:
Sudo apt-get install ldmtool
ボリュームが認識され、以下を使用して正しくマウントできることを確認しました。
Sudo ldmtool create all
私のシステムがドライブを表示および書き込みできることを知っている。私はserviceを作成しました(このサイトからの指示に従います:( https://wiki.archlinux.org/index.php/Dynamic_Disks )
サービスの説明を含むetc/systemd/system/
というファイルをldmtool.service
という名前で作成しました。
[Unit]
Description=Windows Dynamic Disk Mount
Before=local-fs-pre.target
DefaultDependencies=no
[Service]
Type=simple
User=root
ExecStart=/usr/bin/ldmtool create all
[Install]
WantedBy=local-fs-pre.target
起動時にサービスを有効にするには:
Sudo systemctl is-enabled ldmtool
使用されているボリュームのUUIDを見つけるには:
Sudo blkid
次の情報が得られました:/dev/mapper/ldm_vol_XXX-Dg0_Volume1: LABEL="6TB_Raid" UUID="0A281FC6281FAFA5" TYPE="ntfs"
そこで、/etc/fstab
に次の行を作成しました。
UUID=0A281FC6281FAFA5 /media/6TB_Raid ntfs-3g auto,users,uid=1000,gid=100,dmask=027,fmask=137,utf8 0 0
ボリュームは起動するたびに存在します。