Hyper-Vで簡単LAN内ファイル共有ファイル構築

Windowsの共有フォルダとはおさらば

目次

作るきっかけ

いままではwindowsに標準搭載の共有フォルダ機能をつかっていたのだが、これがなにかの拍子で接続できなくなることがあった。
以前はwindowsのアプデで設定が変わったのが原因だった。今回はルーターを変えた際に接続できなくってしまった。
恐らく前の設定を持ち続けているのが原因だろうが、対処法がよくわからない。
Windowsの共有システムはなにかと設定が多くてスマホやiPadとかでも接続が上手くいかない場合もあった。
なので、いっそのこと共有するようなものは仮想環境の方に全部ぶち込もうという風結論ずけた。
バックアップもエクスポートするだけでできるし。

環境

  • Windows10 Pro build 1909 (Homeではできません)
  • Intel Core i7 8700K

Hyper-Vの設定

Hyper-Vを有効にする

初期状態ではHyper-Vは有効になっていません。
前準備として、UEFI/BIOS画面を開いてIntel VT/AMD-Vが有効化されているか確認する
そのあとコントロールパネルからHyper-Vを有効にする

参考サイト

有効化して、再起動すればコントロールパネルの管理ツールにHyper-V マネージャーが追加されている。

OSを入手する

なんでもいいのですが今回は容量軽い、メモリ使用量が少ないLinux Mint Mate版を使用します。
ダウンロード
自分の環境ではなぜか画面がおかしくなっていたので19.3版をダウンロードしました。

Hyper-Vで仮想環境を作成する

最初はネットワークの設定

  • 最初に仮想スイッチマネージャーを開く

  • 新しい仮想ネットワークの作成で、外部を選択で作成、適当に名前をつけてOKをする

これは二回目以降はやる必要はありません。

次に仮想マシンを作成します。 新規→仮想マシンを選択

  • 適当に名前をつけて保存する場所を選択
  • 世代は第一世代を選択
  • メモリは2GBにしてみた

  • ネットワークは先ほど作成したネットを選ぶ
  • ストレージは可変にするので後で設定

とりあえず作成ウィザードは完了です。
次に先ほど飛ばしたストレージを作成します。
仮想マシン一覧から右クリックで設定を選んで、IDEコントローラを選ぶ

  • ハードドライブを選んだら追加を押す

  • フォーマットはVHDX

  • 容量可変

  • ストレージの保存場所

  • ここでは容量を50GBとしてますが、実際のストレージのギリギリ限界まで作ってもいいと思います。可変にしているので最初からこのストレージを要求されません。
  • ストレージ容量は後で変えることはできますが、パーテーションの再設定をしないといけないです。→仮想HDDの容量を増やす方法

  • 最後にチェックポイントは残ると厄介なので、自動チェックポイントを使用するを外しておきます。(バックアップはエクスポートでやる)

Hyper-V側の設定は終わりです。

OSをインストールする

仮想マシン一覧から作成したマシンをダブルクリック新しいウインドウが表示されます。
そこでメディア→DVDドライブ→ディスクの挿入でDLしておいたLinux mintのイメージファイルを選択します。

そのあと起動ボタンを押すとLinux mintが立ち上がります。
デスクトップが表示されたら成功です。
ですがこの状態ではまだお試し版なので今度はインストールを行います Install Linux Mintのアイコンをダブルクリック

  • キーボードを選択, 英語配列キーボードを使っている場合でもとりあえずはこれでOK

  • 余計なものを入れたくないのでチェックを外す

  • 一番を上のもの選ぶ

  • 地域はTokyo選択
  • ユーザーを設定を行う

ここまで行うとOSのインストールが始まる。
インストールが終わると一度シャットダウンします。

メディア→DVDドライブ→ディスク取り出しして起動

これでOSのインストールは完了

仮想環境OS設定

まずいつものパッケージアップデート

1sudo apt update
2sudo apt upgrade

英語配列のキーボードを使っている場合は右下のキーボードマーク右クリック設定
以下のようなダイアログがでるので+ボタンを押してキーボード 英語を選ぶ、そのあと↑ボタンキーボード 英語の優先度を上げます。

ここでいよいよSambaをインストールする

1sudo apt install samba

インストールが完了したら設定ファイルを開く

1sudo nano /etc/samba/smb.conf

そこから[global]の要素を見つけて

1[global]
2dos charset = CP932
3unix charset = UTF-8

を追加する
Windowsのワークグループ名変えている場合は

1workgroup = WORKGROUP

を変更
最終行まで行って以下のものを追加する

1[share]
2path = /home/share/
3writable = yes
4guest ok = yes
5guest only = yes
6crate mode = 0777
7directory mode = 0777

誰でも書き込みOK、ゲストもOKという設定です。個人PC内の環境なので、セキュリティは考えてない
書き終わったら、[Ctrl + S]で保存、[Ctrl + X]で閉じる

共有フォルダを作成する

 1# 共有フォルダ作成
 2sudo mkdir /home/share
 3# 共有できるように、ディレクトリの所有者、グループを変更
 4sudo chown nobody:nogroup /home/share/
 5# 誰でも読み書きできるようにする。
 6sudo chmod 777 /home/share/
 7# 適当にファイル作成
 8touch /home/share/test.txt
 9# sambaを再起動
10sudo service smbd restart

おまけでシンボリックリンク(ショートカットカット)をデスクトップに作成

1cd デスクトップ
2ln -s /home/share

最後にIPアドレスを固定にする
Linux Mintはwindowsと同じ感覚でIPを固定できます
IPアドレスを固定にする方法(Linux Mint)

再起動してIPアドレスが設定したものになったか確認する

接続確認

WindowsではPCフォルダ右クリックでネットワークの場所を追加するを選び、 \\[固定したプライベートIP]\share\を入力する。
ユーザーとパスワードが聞かれるので、Linux Mint側で作ったアカウント情報を入れると接続できます。
読み込み/書き込みができたら成功です。

あとはこのフォルダの配下に共有したいファイルを入れていくだけです。
お疲れ様でした。

バックアップ方法

バックアップは仮想マシン一覧からバックアップを取りたいものを右クリック→エクスポート
保存先を入れれば完了です。
逆に取り込みたい場合は仮想マシンのインポートを行う。
このエクスポートは自動化できるみたいなのでこれは別の記事で書きたいと思う。