• ベストアンサー
  • 困ってます

Linux上からWindowsのパーティションを参照する方法

Linux上からWindowsのパーティションを参照する方法 Linuxを勉強中です。LinuxとWindowsをデュアルブート環境で使おうと思っています。 160GのハードディスクをパーティショニングしてLinuxからWindowsのHDを参照したいのですが、 マウントされているディレクトリ(/dev/hda2)にファイルもフォルダも表示されません。 マウントはLinux起動時に一応されているようで、fdiskコマンドでは表示されています。 WindowsのファイルシステムはNTFSです。LinuxはUbuntuです。 NTFSファイルシステムを参照できるように何か入れないといけないでしょうか? そもそもマウントがちゃんとされていないのでしょうか? 教えてください。どうぞよろしくおねがいします。 上記の情報だけだと分からない場合は補足も書きますのでご指摘頂ければと思います。

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数387
  • ありがとう数6

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.4
  • yakan9
  • ベストアンサー率54% (2059/3807)

> ただHDD自体にのっているWindowsは起動するのが不思議なところです > パーティションテーブルが直ればうまくいきそうな気がします 環境が全く記載されていないため、上記の記載されていることが当方には理解できません。 パソコンのメーカー、型番が不明なため、Windowsの何が入っているのか不明。 160GBのHDDは、内蔵HDDのことを言われているのか、その他に、内蔵HDD、外付けUSB接続HDD等も接続されているのか、fdisk -lでどのような内容が出力されたのか不明。 基本的には、内蔵HDDのトップに、パーティションとは独立した部分にMBRというものがあり、 その中に4エントリ分のパーティション情報が入っています。 これがしっかりしていないと、Windows(?)は起動しません。 よって、デュアルブートといわれているものが、Ubuntuが自動で作成した、 GRUBブートローダなのか、あるいは、Windows(?)とUbuntuとは、 別なHDDにインストールされていて、独立したMBRをそれぞれ持って起動しているのか、 こうした情報を補足されると正しい指示も出せると思いますけど。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

お返事が大変遅くなってしまい申し訳ありませんでした。 再度windowsを再インストールし直して、パーティションを切り Linuxを入れ直したところうまく見えるようになりました。 いろいろ調べてみましたが、やはりパーティションテーブルが壊れていたのが 原因だったようでパーティションを切り直してみたところ あれだけ何をやってもダメだったコマンドも正常に入って問題なく動きました。 いろいろとアドバイスを頂いたのにお礼が遅くなってしまいましたが 今回の質問でとても勉強になりました。 どうもありがとうございました。

関連するQ&A

  • linuxでwindowsの論理パーティションをマウントできますか?

    linuxとwindowsをデュアルブートしています。 windows用のパーティションは、 c;(hda1),d;(hda2)e;(hda3)f;(hda4) で、hda2~4は一つの拡張パーティション内に収まっています。 そこで、Windowsパーティションがマウントされるディレクトリを作り mkdir /mnt/win rootとしてシェルプロンプトで次のコマンドを入力 mount -t vfat /dev/hda1 /mnt/win すれば、hda1はマウントできますが、hda2~4はできません。 何とかマウントする方法はないでしょうか?

  • パーティションとファイルシステムの関係

    ■環境 ・OS:Linux(CentOS5.7) ・LVM使用なし ・ファイルシステムはext3 パーティションとファイルシステムの関係がいまいちよくわかっていないので教えてください。 パーティションを一旦削除し、再度作成すると(同一開始終了シリンダ)、パーティション削除前と同じようにマウントが可能でした。さらに削除前にパーティション内に存在したファイルまで何の問題もなく使えています。 私の想像ではパーティションを削除すると、そのパーティションに内包されたファイルシステムまで同時に削除されるのだと思っていたのですが、違うのでしょうか。 またパーティションとファイルシステムが独立した関係であるならば、以下のようなことが可能なのでしょうか。 (1)/dev/sdaの全領域を/dev/sda1,/dev/sda2の2つに分割してパーティションを作成(fdisk)、それぞれをext3としてフォーマット。 (3)/dev/sda1,/dev/sda2をマウントし、それぞれにファイル1.txt、2.txtを作成。 (3)/dev/sda1,/dev/sda2の2パーティションを削除(fdisk) (4)/dev/sdaの全領域を/dev/sda1,/dev/sda2,/dev/sda3の3つに分割してパーティションを作成しなおす。(fdisk) → もともと/dev/sdaの全領域にはext3のファイルシステムがあるので、mkfs等でファイルシステムを作成しなくてもOSから利用可能? → しかも1.txt、2.txtはそのまま存在するので、マウントすれば参照できる?(sda1~sda3のどこにあるのかはわからないが・・) 取り留めのない質問で申し訳ありませんが、パーティションとファイルシステムの関係について嚙み砕いて教えていただけると非常にありがたいです。

  • マルチブート設定後のパーティション分割

    WindowsとLinux(Fedora Core 4)のデュアルブート環境を作ったあと、Windowsがインストールされているパーティションを分割しFAT32の拡張パーティションを作成したところ、Fedora Coreが起動しなくなりました。拡張パーティションを削除するとまた起動するようになったのですが、その理屈を教えていただけないでしょうか。 なお、 元々のパーティション hda1 : Windows XP Pro(NTFS) hda2 : Linuxのboot hda3 : Linuxのswap hda4 : Linuxの/ 新しいパーティション hda1 : Windows XP Pro(NTFS) hda5 : Windowsの拡張パーティション(FAT32) hda2 : Linuxのboot hda3 : Linuxのswap hda4 : Linuxの/

その他の回答 (3)

  • 回答No.3
  • vaidurya
  • ベストアンサー率45% (2710/5975)

Microsoftは技術者以外の人にはコンピューターの仕組みを隠蔽する傾向が強く あたりまえのパーティション管理のルールが Windowsユーザーには浸透していない場合がありますね。 もう一つのパーティションの正体はパーティションIDで判断できる場合があります。 Linuxの場合、パーティション情報はfdisk -l /dev/sdaといったカタチで スクリプト処理もできる自動終了する形式で参照することもできます。 で、/dev/sdaを見ると、Windowsとのデュアルブートなら 最小限で二つのパーティション。 一般的には仮想記憶を専用パーティションとするLinuxでは 標準として一つのswapパーティションが作られ…合わせて三つになります。 ただ、この段階で、たぶんUbuntuはIBM PC/AT規格における 基本パーティションを浪費することを避けるためか…理由は知りませんが… 拡張パーティションを作成し、その中の論理パーティションとしてswapを作ります。 そのため… たとえば、典型的な自動インストールしたUbuntu環境では/dev/sda内は sda1,sda2,sda5の三つになり、sda2はマウント不可のデバイスとなります。 (sda2が拡張領域全体を意味します) Windowsとのデュアルブートならsda1,sda2,sda3,sda5になりそうな気がします。 sda3が(略) これ以外に、リカバリー領域を持つWindowsプリインストールPCの場合 リカバリー領域として、もう一つのパーティションがあったりします。 Dellの一部モデルではハードウェア自己診断ツールのパーティションがあったり… こういったものは、Windowsの仕様上、ドライブとして認識されないよう 特別なパーティションIDが与えられ、書き換えや破壊を防いでいます。 ただ、これLinuxとかからだと、単なるFAT32やNTFSとして扱えたりします。 リカバリーシステムのお勉強のために見るのは勝手ですが リカバリー不能になると困るという人もいるかと思います。 読み書き可でマウントしないことをお薦めします。 コンピューター自体の管理には、OSの管理より下に コンピューターの仕様に関わるパーティションがあったりもしますから 状況によっては、パーティション(ファイルシステム)のラベルを参照しましょう。 FAT系はたぶんmtoolsのmlabel,NTFSはntfslabel ext2,ext3,ext4はe2labelで参照と変更ができると思います。 (うちはWindows飼っていないので検証したこと無い) Linuxでのパーティションのマウントには、ラベルや ファイルシステム作成時に生成されるUUIDを指定することもできます。 HDDをとっかえひっかえするようなgeekな状況では UUIDを使った/etc/fstab記述が合理的な場合があります。 LABELは任意に変更可能、同じLABELのfsが複数ある状況もおきる。 (故障したPCのHDDを持ってきてメンテする時とかがありがち) UUIDは通常uniqで任意の変更は不可。 ただしddなどでの複製ではLABELもUUIDも複製される。 そういった点に注意して運用すれば、HDDの接続端子や認識順に関わらず 常に、同じパーティションを同じ場所にマウントできるので便利。 USBメモリーやUSB-HDDを複数使い分ける際に合理的なはずです。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございました。 そして返信が遅くなってしまい申し訳ありません。 様々な情報ありがとうございます。 正直初心者の自分にとって今回の回答はとても難しくて少しずつ理解できるように 努力しております。 自分なりに調べたところHDDのパーティションテーブルが壊れているのが原因の一つのようです。 上記の問題が直ったらアドバイス頂いた情報でさらに解決できるような気がします。 それにしてもHDDのパーティショニングはとても複雑なのですね^^; 今回の問題で初めて実感しました。 どうもありがとうございました。

  • 回答No.2
  • yakan9
  • ベストアンサー率54% (2059/3807)

> NTFSファイルシステムを参照できるように何か入れないといけないでしょうか? 基本的なLinux(Ubuntuも同じ)での操作を記載いたします。 常にNTFSフォマットされたパーティションを参照したい場合は、下記のことを行っておきます。 /etc/fstabの最後に次のようなエントリを作成しておいてください。 /dev/hda2は、windowsのパーティションとする。 /dev/hda2 /media/hda2 ntfs defaults 0 0 を、/etc/fstabの最後に追加する。 cd /media mkdir hda2 mount /media/hda2 とやれば、マウントされ、 cd /media/hda2 として、 ls -al で、C:\直下のディレクトリとファイルが参照できます。 次回の再起動からは、自由に、参照できます。 ただし、上の全ての操作は、root権限で行うものとします。 root権限を得るためには、 sudo su - コマンドを実行し、ログインパスワードを入れるものとします。 なお、老婆心ながら、付記しますと、 /dev/hda2 /media/hda2 ntfs defaults 0 0 の第3パラメータをntfsをntfs-3gとすると、読み書きできるようになりますが、 破壊することもできるためお勧めしません。 もう一つ、Windowsを休止状態で終了した状態の場合、少し面倒な操作が必要となる場合もあります。 これも解除する方法はありますが、高度な知識がない場合はお勧めしません。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。 返信が遅くなってしまい申し訳ありません。 自分なりにしらべてみたのですが、どうやらHDDのパーティションテーブルが壊れているのが そもそもの原因のようです。 Ubuntu上でfdisk -lをしてもたしかにパーティションテーブルが無いとでます。 HDDを外して外付けで別のPCから接続してみたところ、WindowsのOS上からもWindowsの領域がみえていませんでした。(パーティションテーブルが無いため「ディスクはフォーマットされていません。今すぐフォ-マットしますか」とでます) ただHDD自体にのっているWindowsは起動するのが不思議なところです^^; パーティションテーブルが直ればうまくいきそうな気がします>< fstabの追記の情報ありがとうございました。 マウントがうまくいったらそちらの追記もやってみます。 ntfs-3gだと書き込みもできるためリスクもあるのですね。知りませんでした。 正常に使えるようになるまでは控えようと思います。 ありがとうございました。

  • 回答No.1
  • mtaka2
  • ベストアンサー率73% (867/1179)

質問者さんの状況では、まだ、まったくマウントされていない状況です。 Unix系OSにおける「マウント」のしくみを誤解されているようです。 fdisk は、HDをどういう区分けにするかを管理します。 同じHDDをパーティショニングしているのなら、 Linux 側でパーティション管理ツールである fdisk を使えば、 Windowsの区画が見えることになりますが、それは 「区画がある」ことを確認しているだけで、まだマウントはしていないので、 その区画内にあるファイルをアクセスすることはできません。 /dev/hda2 は、「デバイスファイル」と呼ばれるもので、 「区画を示す」ための特殊なファイルであり、通常のファイルアクセスはできません。 マウント時にどの区画をマウントしたいのか指示するための「名前」として使います。 そして、マウント操作を行うことで、やっとその区画内のファイルにアクセスできるようになります。 マウント操作は、下記のような手順になります。 --- sudo mkdir /media/windows sudo mount -t ntfs /dev/hda2 /media/windows --- これによって、デバイスファイル/dev/hda2 で示される区画内のファイルを、/media/windows フォルダでアクセスできるようになります。 (mkdir は、最初の一回だけでいいです。また、fstab にマウント情報を記述することで、起動時に自動 的にマウントするようにできます。)

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます>< >fdisk は、HDをどういう区分けにするかを管理します。 >「区画がある」ことを確認しているだけで、まだマウントはしていないので、 >その区画内にあるファイルをアクセスすることはできません。 fdiskコマンドも誤解していたようです。ありがとうございます。 デバイスファイル自体にアクセスしようとしていた為、何もでなかったのですね。 教えて頂いた通り、マウントポイントを作って以下のようにマウントしてみました。 $su $*** $mkdir /media/windows $mount -t ntfs-3g /dev/hda2 /media/windows でコマンドは通りました。ただ/media/windowsには何もでません。。 あとfdiskでwindows側のパーティションを再確認したのですが、/dev/hda2以外に別の領域があるようで/dev/sdb doesn't contain a valid partition tableと出ています。 こちらもマウントしてみましたが何もでませんでした;;

関連するQ&A

  • inuxのインストールのスワップパーティションについて

    インストールのとき 「スワップパーティションが未指定です。これは常に必ず必要 というわけではありませんが、大抵のインストールについて明らかに 性能を向上させます。」とでるのですがいつも無視してすすんでいる のですがかまわないのでしょうか? インストールには Disk Druidを使用しています。 また設定は パーティション /dev/hda6 マウントポイント / /dev/hda /dev/hda/vfa /dev/hda2 拡張領域 /dev/hda5 vfat /dev/hda6 ext2 マウントポイント / このパーティションのファイルシステムをどのように用意しますか という項目では このパーティションタイプでフォーマット(F): ext2 OK としています。よろしくおねがいします。

  • fstabを編集してもうまくマウントできない。

    Linux初心者です。 WindowsXPとVineLinux2.6をデュアルブートしています。 Linuxを入れる前からWindowsの方で作っておいたFat領域があるのでそれをLinuxからでも一般ユーザーが読み書きできるように、/etc/fstabに /dev/hda5 /mnt/win vfat defaults,umask=007,gid=500,euc,zenkaku 0 0 を書き足して、 mount -a を実行したところ、 mount: /dev/hda5 は マウント済か /mnt/win が使用中です mount: mtab によると、/dev/hda5 は / にマウントされています mount: ファイルシステムタイプ 0 はカーネルがサポートしていません という反応です。 今の段階でhda5がどういう状況にいるのかかよくわかりません。 / はhda4に作っていますのでhda5がそこにマウントされているということの意味もわかりません。 よろしくお願いします。

  • swapパーティションの設定

    VineLinuxでswapはどのパーティションが自動選択されることになっていますか? 以前は/dev/hda4がswapとして自動でマウントされていました。 それは/etc/fstabに /dev/hda4 swap ... と記述があったからだと思っています。 /homeなどはラベルを使って/etc/fstabに定義してあるのでswapもラベルで定義しようとしました。 /swap swap ... これで、HDDをセカンダリに接続してもそのままでswapが自動でマウントされると思ったのですが、swapのパーティションとして/dev/hda4を探して、見つからなくてswap無しでLinuxが起動しました。 /dev/hda4という情報はどこから出てきたのでしょうか?

  • WinXPとRedhatLinuxでファイル共有する場合・・・。

    こんにちわ, 現在WindowsXPproとRedhatLinux9をデュアルブートでPCに入れ,使用しています。 今,WindowsとLinuxでファイルを共有したいので,Windosのコンピュータの管理-ディスクの管理でFAT32でフォーマットしたDというドライブをLinux上でマウントしたいのですが,hdaの何番がそのドライブに当たるのかがわかりません。 どのようにそのことを調べたらよろしいのでしょうか。その番号さえわかれば,/etc/fstabに   dev/hda?? /[マウントするDIR] vfat defaults 0 0 でいけるとおもうんです。 (ちなみにマウントの仕方で詳しいやり方を知っていたら教えていただければうれしいです) よろしくお願いします。

  • Linuxをインストールすためのパーティション

    初心者です。 本に書いてある通りにインストールを進めているつもりなのに、インストールの途中で 「利用可能なパーティションが見つかりません」みたいなメッセージが出てきます。 Debian GNU/LinuxをWindowsXPが入っているPCにインストールしようとしています。 まず、Knoppixで、Linuxのためのハードディスクの空き(50GB)を用意ました。 でも、上記のようなメッセージが出てきてしまいます。 何が悪いのかさっぱりわかりません。 本と違ったことは、 Knoppixでパーティションを変更するときに、通常/dev/hdaのところに現在の状態が表示されると書いてたのですが、私のPCは/dev/hdaの所は空で、/dev/sdaというところにありました。 これが原因なのでしょうか? あとは、NICの認証がよくわかりませんでした。 とりあえず、「イーサネットカードなし」と選びました。イーサネットカードって何ですか? ネットワーク設定も検出されなかったみたいです。Windowsでは普通に使えているのに、よくわかりません。 お願いします。

  • linux初心者ですが。

    ハードディスクが壊れ、物理的には壊れていないという判断から、linuxをつかってパーティションの修復??みたいなことをしようとしているのですが、 rescue:/# fdisk /dev/hda を実行してもなにも反応がないです。 SATAの場合なにかコマンドがかわるんでしょうか?

  • WindowsでNFS export、またはLinuxでCIFS参照することは可能?

    通常、Linux-Linux間でネットワークファイルシステムといえばNFSを使うかと思います。 またLinux→WindowsであればsambaなどのCIFSかと思います。 では、Windows側でローカルマウントされているファイルシステムをLinux側でネットワークマウントする場合はどのようにすればよろしいのでしょうか。 WindowsでNFS exportなどができる機能やソフトはあるのでしょうか。もしくはLinuxでCIFS参照することはできるのでしょうか。Windows側でNFS exportできる場合は可能な限りフリーではないツールやOSの標準機能として搭載されていればなおgoodです。 なおWindows側は2003 Serverを想定しています。LinuxはRedHat Enterprise Linux AS v4です。 よろしくお願いいたします。

  • Linuxのパーティション分割、みなさんならどうしますか?

    こんにちは。 Linuxのパーティション計画ですが、何か気をつけた方がいいことは ありますでしょうか? マシンは、サーバ用途で、Apache、qmail、OpenSSH、FTP(内部LAN用)の サービスを起動し、あと、Tripwireを導入しようかと考えています。 一応、下記のパーティションに分割する予定ですが、容量はまだ 決めていません。 ちなみにHDの容量は40GBです。 /dev/hda1 スワップ /dev/hda2 / /dev/hda3 /boot /dev/hda4 拡張パーティション /dev/hda5 /usr /dev/hda6 /usr/local /dev/hda7 /home /dev/hda8 /var /dev/hda9 /var/log /dev/hda10 /opt /dev/hda11 /tmp

  • パーティション

    LinuxのHHD(IDE)を基本2つ論理2つのパーティションにわける場合、デバイスファイル名は、 /dev/hda1 /dev/hda2 /dev/hda5 /dev/hda6 というふうになるのでしょうか。

  • デュアルブートとパーティションについて

    HD40GBにWindows xp と RedHat Linux 8.0をデュアルブートさせようと思います。そこで以下のように割り当てようと思っています。 ●Windows xp  ・Cドライブ → 15GB(NTFS形式)  ・Dドライブ → 20GB(FAT32形式→Linux側から見れるようにしたいため) ●RedHat Linux 8.0 → 5GB Windows xpのリカバリーCDを入れて、パーティションを切ろうとしたのですが、未使用の領域に8MB残ってしまいます。どうせなら、完璧に割り当てたいのですが、どのような方法でパーティションを切り、デュアルブートさせればよいでしょうか? 初期状態はWindows xpがCドライブのみに40GB入っていました。 今は、パーティションを切るのを試していて、何も入っていません。 もう一度初期状態に戻し、そこからパーティションを切る準備に入ったほうがいいのか、何も入っていない状態からパーティションを切る準備に入った方がいいのでしょうか? また、Linuxのfdiskコマンドを使えば無駄な領域を残さずパーティションを切れると聞いた事があるのですが、デュアルブートさせるときは、windowsからインストールしなければならないと本に書いてあったので、困っています。 いろいろ混乱しているので、質問が多く整理しきれていませんが、教えたいただける方どうかよろしくお願いします。