こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ubutun端末でwindowsファイルを読む

windows10のみで使っていたPCのHDD(2TB)にパーティションを作ってubutan18.05をインストールしました。
やりたいことは、ubutunでフリーソフトのgfortranをインストールし(これはできた。terminalで実行する)、gfortranからwindows10のファイルを読むことなのですが、
そのためにまず、terminalからlsコマンドなどでこれらのファイルにどうすればアクセスできるかを調べています。

ubutanのdashにあるファイルアイコン起動後の”他の場所”には
  ・コンピュータ 324GB
  ・windows10  1TB     /dev/sda4
  ・data     524GB  /dev/sda5
  ・ボリューム        /dev/sdb1

があります。
このファイル画面の操作から、dataやwindows10内のファイルをホームのworkフォルダにコピーしたあと、ターミナル画面でこれらのファイルをgeditで参照することができています。
 例: gedit work/test.txt
このとき、コピーすることなしにlsなどで参照するにはどうすればよいでしょうか。
ファイルアイコン(windowsのexploreのようなものと思っています)で操作できるので、terminalのls等で操作できてもよさそうに思うのです(間違っているかも知れません)
sambaでファイル共有をすればできそうに思いますが、そのためにはwindowsも立ち上がっていなければならないと思いますので(自分の知識では)、今回の場合ubutunとwindows10を同時に立ち上げることはできません(いずれかしかブートできない)
あるいは、mount操作(mntコマンド?)で上記のパーティションをマウントすればよいかなと思ったりしましたが、具体的なコマンド操作(とくにパス指定)がよくわかりません。
gfortranはこれまでwindows10で実行していましたが、ある2つの理由でlinuxのgfortranで実行させたいのです。大昔linuxはほんの少し触ったことがあります。
どなたかご教授をお願いできないでしょうか。

投稿日時 - 2018-08-08 10:56:04

QNo.9525683

困ってます

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

No.4です。
たとえば /mnt というのは、ほんの一例ですので、
マウントしたいパーティションに対応したフォルダ(ディレクトリ)を自分で作成しておけばいいです。
例えば次のようにフォルダを作成しておきます。( mkdir コマンド)
フォルダ名は任意ですので自分で解りやすいように設定してください。
mkdir /mnt1
mkdir /mnt2
mkdir /mnt3
各フォルダに各パーティションをマウントします。
mount /dev/sda4 /mnt1
mount /dev/sda5 /mnt2
mount /dev/sdb1 /mnt3
以上で各フォルダを ls コマンドで照会すればOKです。
各パーティションのアンマウントは
umount /mnt1
umount /mnt2
umount /mnt3
です。
自分で作成したフォルダの削除は( rmdir コマンド)
rmdir /mnt1
rmdir /mnt2
rmdir /mnt3
です。

投稿日時 - 2018-08-09 15:40:30

お礼

再度のご教授ありがとうございました。ご案内のようにしてできました。フォルダをあらかじめそれぞれ作っておくという発想に思いつきませんでした。
ただ残念なことにSDA5については、回答no5さんのお礼にある通り問題2に躓いています。よろしければこちらも教えていただけるとありがたいです。windows10のディスク管理で作ったパーティションに問題がありそうに見えます。(別な要因かも知れませんが)

投稿日時 - 2018-08-09 18:57:48

ANo.6

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(8)

ANo.8

>ls -al /windata では次の通りです。
>root 32768 data
なので、/windata/data
にアクセスすればファイルなどを参照できます
sudo /ls -la /windata/data

投稿日時 - 2018-08-09 21:31:55

お礼

32768バイトが少なすぎる(実際は数百GBあるので)と思ったですが、このサイズはルートだけだったかもしれませんね。
パス指定を慎重にやり直したらOKでしたので、この時も
sudo /ls -la /windata/data
でOKだったかも知れません。

ご教授ありがとうございました。

投稿日時 - 2018-08-09 21:41:48

ANo.7

No.6です。
>ただ残念なことにSDA5については、回答no5さんのお礼にある通り問題2に躓いています。

私は何も問題ないと思います。
/dev/sda5 は /windata にマウントしているわけですから、
ls /windata
を実行すれば内容を照会できるはずです。

>windows10のディスク管理で作ったパーティションに問題がありそうに見えます。
私は何も問題ないと思います。
当初の質問にも「このファイル画面の操作から、dataやwindows10内のファイルをホームのworkフォルダにコピーしたあと、ターミナル画面でこれらのファイルをgeditで参照することができています。」
と書いてあるようにdata(/dev/sda5)は正常な状態です。

投稿日時 - 2018-08-09 19:42:10

お礼

なんの問題もなくできました。原因ははっきりしませんが可能性として
・mountのためのmkdirのパスをミスした
・ubutanのboot指定を、usbかディスクかを(いずれかわからないが)ミスした。(正しいboot先として調査要)

ご教授ありがとうございました。

投稿日時 - 2018-08-09 19:58:28

ANo.5

マウント操作は
mount -t ファイルシステム名 デバイスファイル マウント先フォルダ
です(ほかにオプションの指定もありますが省略)。前の回答の参考urlに、mountコマンドの日本語manページを張っておいたのですが、ご覧になりましたでしょうか。

マウント先1フォルダにつき1デバイスしかマウントすることはできませんが、マウント先フォルダを別のフォルダに変更すればいくつでもマウントすることができます。つまりいくつでも適当なフォルダを作って、そこにマウントしてやれば同時にいくつものデバイスをマウントできます。

/dev/sda5のほうは、
sudo mount -t ntfs /dev/sda5 /mnt
コマンド投入時に何かエラーメッセージは出ていないでしょうか。
もしエラーも何もなく、また、マウント後に
df
を実行し、その出力に
/dev/sda5  ****ほにゃらら***  /mnt
の行が存在するなら、そのパーティションはからっぽだとぴうことになります。
ただ、念のためls にすべてのファイル。フォルダを出力するオプションをつけた
ls -al
で確認してください。

投稿日時 - 2018-08-09 14:57:50

お礼

重ねてのご教示ありがとうございます。
>mountコマンドの日本語manページを張っておいたのですが、
拝見しました。ubuntu -- で検索すれば調べられることもわかりました。

問題1は、つまりいくつでも適当なフォルダを作ってやればよいことがわかりました。(このような概念は慣れていないと発想が及ばないです)
問題2は、うまくいかないです。
mountは成功し、その後のdfでは、最後に mountに対応した行があらわれます。
dfでは次の通りです。
最後の関係する行については(各行の最後の前の項目は設定したマウント名)
/dev/sda4 504GB 52% /win10 c:windows10
/dev/sda5 155GB 70% /windata c:data
/dev/sdb1 474GB 76% /extdata d:extdata

ls -al /windata では次の通りです。
root 0 '$recycle
root 4096 .
root 320 ..
root 0 'system volume information'
root 32768 data

dfではsda5にもデータがあるようですが、lsでは有効なデータが入っていません。もちろんwindowsでは有効なデータがあり、ディスク管理でもNTFS、基本パーティションになっています。
マウントはされているけど、データが見えないことになっています。ディスク管理で作ったパーティションに問題があるのだろうか?

投稿日時 - 2018-08-09 17:06:46

ANo.4

>mount操作(mntコマンド?)で上記のパーティションをマウントすればよいかなと思ったりしましたが、

それでいいです。
例えばdataパーティション(/dev/sda5)を
mount /dev/sda5 /mnt
で /mnt に mount すれば
dataパーティションは /mnt フォルダにマウントされていますので
ls /mnt
でdataパーティションの内容を照会できます。
---
なお、dataパーティション(/dev/sda5)のアンマウントは
umount /mnt
です。

投稿日時 - 2018-08-09 08:02:19

お礼

ご返事ありがとうございます。
ご案内の通りでOKでした。
しかし、別な問題がありました。回答no3で説明していますので、よろしくご教授いただければ幸いです。

投稿日時 - 2018-08-09 13:46:18

ANo.3

>このファイル画面の操作から、dataやwindows10内のファイルをホームのworkフォルダにコピー
この動作が可能となっているときは、Windowsパーティションはマウントされています。コマンドでも操作可能です。おそらく、アンマウントした状態でdfをかけたのでしょう。
GUIを使わず端末でマウントするなら
sudo mount -t ntfs /dev/sdb4 /mnt
とやれば/mnt以下にWin フォルダが見えるようになります。

参考URL:https://linuxjm.osdn.jp/html/util-linux/man8/mount.8.html

投稿日時 - 2018-08-09 02:34:01

お礼

色々試していたのでご返事が遅くなりました。

ご案内のように
sudo mount -t ntfs /dev/sda4 /mnt >>>>>>> c:windows10 volume
ls /mnt
でtreeが見えました。mountしたと同時にGUIのfiletreeにwindowsネットワークファイルとかが出てきました。

この後
sudo umount /mnt
sudo mount -t ntfs /dev/sdb1 /mnt >>>>>> d:drive
ls /mnt
もokです。

ところが
sudo umount /mnt
sudo mount -t ntfs /dev/sda5 /mnt >>>>>> もとのc:driveをwindowsのディスク管理でパーティションを分割しデータをコピーした物。
ls /mnt
は中身が見えません。

で問題が2点あります。
1.上記のsda4とsdb1をそれぞれ別のmnt名にすることができない。つまり一時には1個しかマウントできない。

2.なぜか、3番目のsda5は中身が見えない。

この問題と対策はお分かりになるでしょうか。

投稿日時 - 2018-08-09 13:43:11

ANo.2

全く質問への回答ではないのですが。

https://ygkb.jp/7291

Windows10のアプリとしてWindowsストアにubuntuがあるので、インストールして使えば、2つのOSを両方起動したのと同じにはならないのでしょうか?
私自身は試したことがないので、ご質問のことができるかはわからないのですが。
https://www.microsoft.com/ja-jp/p/ubuntu/9nblggh4msv6

投稿日時 - 2018-08-08 19:47:32

お礼

ご返事ありがとうございます。
このwslによると両方起動したことになるかも知れませんが(多分)、nativeのubutanより効率が落ちるのでは思っています(何かしらエミュレーションのようなことがありそうだから)。それで採用しませんでした。

投稿日時 - 2018-08-08 21:39:52

ANo.1

端末上で
df
と打ち込むと、マウントされているデバイスがリストアップされます。
その中で、左側のデバイス欄が/dev/sda4となっている行の右側にマウント先のフォルダが出ています。そのフォルダの下に目的のファイル・フォルダがあるはずです。
たぶん
/run/media/ユーザ名...
みたいな感じのフォルダです。

投稿日時 - 2018-08-08 17:28:31

お礼

ご返事ありがとうございます。
dfを実行して、filesystemとmounted on をサイズがゼロでないものをリストしますと
udev /dev
tmpfs /run
/dev/sdc1 /cdrom
/cow /
tmpfs /run/lock
tmpfs /sys/fs/cgroup
tmpfs /tmp
tmpfs /run/user/999
くらいになっています。/cdromくらいしか意味がわかりませんが。
しかし、/dev/sda4,/dev/sda5 というものはありません。
dfはマウントされているデバイスのすべてであるそうなので、/dev/sda4,/dev/sda5はマウント(可能であれば)されていないように思えます。

ちなみに mount /dev/sda4 などとやっても
mount: /dev/sda4: cat't find in /etc/fstab.
となります。意味がわかりませんが。

少なくとも回答者1さんのご見解であれば、何らかのコマンド操作でこれらのデバイスは参照できるとのことになるのでしょうか。

投稿日時 - 2018-08-08 22:01:59

あなたにオススメの質問