Windows 10 で OS 起動時にネットワークドライブにつながらない場合への対処方法

問題点

Windows 10 の起動時、「ネットワークドライブにつながらない」と毎回怒られる場合にどうするか*1

結論

Windows Script Host(WSH)を書く(しかない)。

具体的には

ここで私がうだうだ説明するより、以下のページがとてもとても良くまとまっているのでオススメです。

スクリプト自体はこんな感じです(foobar.vbs)。NAME_1NAME_2あたりに適切な名前を入れて下さい。objNetworkZは命名を変更しても大丈夫です。なお、複数のネットワークドライブがある場合は、一つが疎通すればあとは全てつながるっぽいです。

Set objNetworkZ = CreateObject("WScript.Network")
objNetWorkZ.MapNetworkDrive "Z:","\\NAME_1\NAME_2"

あまりイケてない、賢くない方法なんだけどもっといい方法はない?

この問題はかなり前から(Windows 7 ぐらいから)起きているのだけれども、根本的なスマートな解決方法 2017/04/16 現在、提供されていません。冒頭の「問題点」の中で「毎回怒られる」とありますが、上記解決策を施しても怒られることがあります。怒られたあとに接続しに行っているだけです。

ちなみにこれ、「再起動」をした場合は接続を維持してくれるようです。そのため再起動時には WSH の重複実行エラーが出ます。シャットダウンをして新しく起動した場合には、WSH を実行しないと自動でつながらないと思います。

何とかしてほしい……。

*1:「場合」と書いてますが 100% つながらないでしょう

Windows 10 で規定の時間になってもディスプレイのモニタが消えないとき

問題点

以下のように、「電源とスリープ」の設定で「画面」のスリープ時間を設定したのに設定時間が経ってもモニタが消えない。 f:id:gregminster:20170416163043p:plain

結論

ゲームコントローラの接続を外す。

上記でもダメな場合

私には分からないです。

Vagrantfile を修正して Windows 上のフォルダと Ubuntu 上のフォルダを同期させる方法

記事タイトル

思いっきりWindowsUbuntuって限定してしまっていますが、便宜上のことであり、いわゆる「ホスト」と「ゲスト」間なら何でもオッケーです。

方法(Vagrantfile の修正)

Vagrantfileconfig.vm.synced_folderを修正してあげましょう。ここでは Windows 上で Vagrant を動かし、Ubuntu を構築しているものとします。

Windows 側の共有フォルダ

「Vagrantfile があるフォルダを起点として」、どのフォルダを共有するかを決めます。

例えばC:\Vagrant\my_ubuntu\Vagrantfileとあった場合に、C:\Vagrant\my_ubuntu\Vagrantfile\shared_folderとしてshared_folderを共有フォルダにしたい場合の指定方法は./shared_folderとなります。

Ubuntu 側の共有フォルダ

Ubuntu 側はフルパスで書けば OK です。例えば、/home/murayama/shared_folderのような感じです。

Vagrantfile に記述

上述の例の場合だと、Vagrantfileconfig.vm.synced_folderに以下のように書きます。コメントアウトは外しましょう。

config.vm.synced_folder "./shared_folder", "/home/murayama/shared_folder"

再起動

Vagrant を再起動すれば反映されているはずです。

Windows の VirtualBox の Vagrant で ubuntu/xenial64 の環境を構築する手順(一般ユーザ)

Vagrant で Ubuntu

以前にこんな記事を書きました。ただ、思いっきり root 前提です。

一般ユーザを作る

上記の記事を参考に、一般ユーザを作ります。大したことはしません。sudoできるユーザで作業を行い、完了したら当該一般ユーザでログインすれば反映されているでしょう。

一般ユーザを作成する

以降、作成する一般ユーザの名前をmurayamaとします。まずはユーザを作成しましょう。useraddではなくてadduserを使おう

# adduser murayama

鍵を作る

ここは元の記事と一緒です。鍵の場所が違うだけです。鍵用のディレクトリが無いかもしれないので作ってます。パーミッションは後で変えておきましょう。なお、Vagrantfileconfig.vm.synced_folderを適切に設定していないと、Windows とのファイルの受け渡しができないので注意です。

# mkdir /home/murayama/.ssh/
# ssh-keygen -t rsa -N '' -f /home/murayama/.ssh/id_rsa
-> パスフレーズは空っぽ
# mv /home/murayama/.ssh/id_rsa.pub /home/murayama/.ssh/authorized_keys
# cp /home/murayama/.ssh/id_rsa /vagrant
-> Vagrantfile がある Windwos のフォルダに id_rsa が持ってこられたのでこれを SSH ログイン時の鍵としましょう

鍵でログインできることを確認

上述の鍵でログインできることを確認しましょう。

sudo できるようにする

まだこの状態だと sudo できません。murayama is not in the sudoers file. This incident will be reported.みたいに怒られます。

よくある/etc/sudoersを変更する必要はないです。なぜなら以下の部分がコメントアウト無しですでに/etc/sudoersに記述されているからですね。

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

したがって、murayamaadminグループに入れてあげればいいだけです*1

# usermod -aG admin murayama

※ admin グループでなく sudo グループでもいいです

これでオッケー

以上の手順で、Vagrant の Ubuntu 16.04 LTS に一般ユーザの構築が終わったはずです。適当に Itamae っとくのがいいでしょう。

参考ページ

*1:/etc/sudoers の中身を見るに、他のグループではなく admin グループが推奨されていると思われます

Powered by はてなブログ