カテゴリーアーカイブ OS

takahashi 著者:takahashi

Windowsが起動しなくなった時にPCからデータを取り出す方法

以前
Windowsがおかしくなった時に試したいコマンド “sfc /scannow”
という記事を書きましたが、今回はその後の話、つまりWindowsが復旧できなくなってしまった場合の対策を紹介したいと思います。
実際はsfc以外にも回復する方法があるのですが、それらもろもろを試してもダメだった場合、初期化が必要になってきます。

幸いなことに、Windows8以降のOSではなるべくファイルを残した状態でOSを再インストールするオプションがあるので、通常はこれでほとんど治ります。

Windowsのリフレッシュ(一部初期化)とリセット(完全な初期化)は下記を参照ください。
第8回 Windows 8によるPCの「リフレッシュ」と「リセット」 – @IT
Windows10 「PCのリフレッシュ」「PCの初期化 (リカバリー)」をする方法! – Mecha log

そもそもリカバリすらできない、あるいはリカバリする前に念のためデータをバックアップしておきたい、といった場合は、HDDを取り出して正常に起動するPCに繋げるか、外部からOSを直接起動することができれば可能になります。

実は世の中にはCDやDVDから直接起動することができるOSが複数種類存在します。

もしDVDを作成する機能のあるPCを使っている場合は、Ubuntuがおすすめです。

Ubuntu Japanese Team – Ubuntu

Ubuntu 14.04 インストールDVDの作成 – 根気だけでパソコンを征服しようとする隊長の備忘録

そもそもディスクドライブがない!という方はUSBメモリへインストールすることもできます。

さまざまなOSのインストール“USBメモリ”を手軽に作成できる「UNetbootin」- 窓の社

一度OSが起動すればあとはWindowsと操作は同じです。
PCに内蔵されているHDDを開き、必要なファイルを別のUSBメモリやHDDへコピペすることができます。

詳しい操作方法はこの辺りを見ていただければわかりやすいかと思います。

Ubuntu ウブントゥでデータ救出

GUIのわかりやすい画面でファイル操作ができると、かなり安心感がありますね。
困った際は是非試してみてはいかがでしょうか?

  • この記事いいね! (1)
村上 著者:村上

【Cordova】Androidアプリで「resource android:attr/colorError not found.」というエラーが発生したときの対処法

先日、Cordovaアプリを開発中、Android Studio を 2から3にアップグレードした際に発生したエラーの対処法についての記事を投稿しましたが、その第2弾です。
前回のエラー解消後にも、まだ違うエラーが発生しましたので、今回はそちらのエラーについて。
少なくとも私の環境では、前回と今回の2か所を直せば、問題なくビルドできるようになりました。

 

今回発生したエラーはこちら。

error: resource android:attr/colorError not found.

エラー文そのままですが、リソースファイル内の記述の「android:attr/colorError」というのが見つからない、というエラーですね。

こちらの対処法ですが、こちらも前回のエラーと同様に、build.gradle ファイルを修正します。
Android Studio でbuild.gradle ファイルを開き、compileSdkVersionbuildToolsVersion を指定している記述を探します。
そして、それぞれを下記に変更します。

compileSdkVersion 26
buildToolsVersion "26.0.2"

gradleファイルを変更すると、黄色い帯と Sync Now という文字が表示されるので、「Sync Now」をクリック。
以上で修正は完了です。
問題なくビルドと実行ができるようになりました。

 

ちなみに、一つ目のエラーについての記事はこちらから。

【Cordova】Android Stodio 3.0で「Unable to resolve dependency for ‘:@debug/compileClasspath’: Could not resolve project :CordovaLib.」というエラーが出たときの対処法
https://wp.me/p9rRLL-fT

同じエラーでお悩みの方は是非ご参考にしてください。

  • この記事いいね! (1)
takahashi 著者:takahashi

NginxでBASIC認証をプロキシするときの注意点

今回。hamamatsu-gnss.orgのサーバー切り替えを行ったのですが、移行先サーバでサービスの再起動後何故かBASIC認証が通らなくなる問題が発生。
80番ポートはWebページとポートを共有しているので、webサーバーとntripサーバーの前にNginxを置いて、ドメインで通信を振り分けています。
旧サーバーでは問題なく動いていたのですが、まったく同じ設定をコピーした新サーバーでは、RTKLIBからntripへ401ステータスで接続できなくなってしまいました。

ちなみに直で新サーバー側のntripへ接続すると、認証も問題なく通り、ログにも異常は見られなかったので、原因がNginxなのは間違いなさそうです。

認証の要らないsourcetableはNginx経由でも問題なく表示できたため、恐らくBASIC認証の際に必要なヘッダ情報が渡せていないのだろうと推測しました。
そこでいろいろ調べてみると、参考になりそうなサイトを発見。

Nginx を認証プロキシとして使う – Docker-docs-ja

正常にプロキシするには

      proxy_pass                          http://example.com;
      proxy_set_header  Host              \$http_host;   
      proxy_set_header  X-Real-IP         \$remote_addr; 
      proxy_set_header  X-Forwarded-For   \$proxy_add_x_forwarded_for;
      proxy_set_header  X-Forwarded-Proto \$scheme;

の記述が必要だったのですが、新サーバーの設定ファイルと見比べたところ

proxy_set_header  X-Forwarded-Proto \$scheme;

の記述が抜けていることがわかりました。
この一行を追記し、Nginxをリロード、もう一度試してみると…

無事接続できました!

Nginxはプロキシする際、バックエンドへ渡すヘッダー情報を自由に指定・編集することができるので、抜けがあると今回のようなことが起きます。
Nginxでシステムを構築した際は、こういう部分も気を付けてチェックしたいですね。

いやーしかし、今回は症状がちょっと奇妙だったのでちょっとだけ焦りました…(笑

  • この記事いいね! (0)
村上 著者:村上

【Android】Facebookログインで使うアプリのリリースキーハッシュを取得する方法

こういう設定周りは凄く苦手で、特にFacebookはとことん手こずるので、備忘録としてまとめ。

今開発中のアプリで、Facebookログインを導入しているのですが、こちらの機能の動作確認中に、「Invalid key hash.」というエラーが発生したので、その対処法について。
そもそもこちらのエラーは、「Facebook for Developers」のアプリ設定ページで、エラーメッセージに表示されているキーハッシュが登録されていないために発生するので、キーハッシュを発行して登録すれば解消できます。
…が、これが結構面倒くさい。
コマンドは Facebook の公式ページに掲載されているのですが、肝心な自分の

 

キーハッシュ発行方法は以下の手順で行います。
なお、作業はWindowsのコマンドプロンプト上で行いました。

まず、発行のためのコマンドはこちら。

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

が、そもそも keytoolコマンドが動かないので、下記のcd コマンドでカレントディレクトリを変更します。

cd C:\Program File\Java\jre1.8.0_151\bin

各自の環境によってパスは変更して頂く必要がありますが、私の環境では下記の場所に移動したところ、無事 keytoolコマンドが動作しました。

そして、さっきの keytoolコマンドに戻るのですが…このコマンドの RELEASE_KEY_ALIASRELEASE_KEY_PATH がわからない!
上記のコマンドが掲載されていたFacobookのページにも、その他検索にヒットしたサイトにも、どこから自分の RELEASE_KEY_ALIAS と RELEASE_KEY_PATH を調べるのかは明記されておらず…結構調べました。

で、結論として、まず RELEASE_KEY_ALIASAndroid Studio で確認できました。
Android Studio のメニューバーにある Build > Generate Signed APK… をクリックします。
すると、下記のようなウィンドウが表示されるかと思います。

このウィンドウの中央辺りに「Key alias:」という欄がありますが、これが RELEASE_KEY_ALIAS です。
また、この時設定したパスワードも、キーハッシュ発行時に使うので覚えておきましょう。

次に、RELEASE_KEY_PATH ですが、こちらは、アプリのリリース用APKを生成するときに使用する ○○○.jks ファイルのパスを指定するとのこと。

この3点が分かったので、改めて keytool コマンドを実行します。
実行すると、「キーストアのパスワードを入力してください:」というメッセージが表示されるので、Android Studio で設定したパスワードを入力します。
すると、最後が「=」で終わる、28文字のキーハッシュが表示されるので、こちらをFacebook for Developer のマイアプリページで設定・保存すれば作業は完了です!

それでもうまくいかない場合は、一度Facebookのアプリ設定の「Facebookでログイン」から、該当のアプリを削除してみると、ログインに成功しました。

 

以上、Facebookログイン時に使用するリリースキーハッシュの取得方法でした。
こういう設定周りが苦手な方は、是非参考にしてみてください。

  • この記事いいね! (0)
村上 著者:村上

【Cordova】Android Stodio 3.0で「Unable to resolve dependency for ‘:@debug/compileClasspath’: Could not resolve project :CordovaLib.」というエラーが出たときの対処法

今回はCordova(コルドバ)というハイブリッドアプリ開発の時に発生したエラーの対処法について。
「ハイブリッドアプリ」については、下記のサイトが分かりやすくて、参考になりました。

ハイブリッドアプリとは? – Qiita
https://qiita.com/soarflat/items/cf5d343c75baadb461dc

 

他のアプリ確認する際に、Android Studioのバージョンを 2から3に上げなければいけなかったのですが、アップデートしたら、Cordovaのアプリがビルドで失敗するようになってしまいました…。
で、対処法がないか調べてみたとこと、案外あっさり見つかって拍子抜けしました。

対処法は、Android StudioでCordovaのアプリを開き、build.gradle ファイルを開きます。
で、下記2行の記述があると思うので、こちらを削除もしくはコメントアウトします。

// 削除するコード
debugCompile(project(path: "CordovaLib", configuration: "debug"))
releaseCompile(project(path: "CordovaLib", configuration: "release"))

で、代わりに下の一行を追加するだけ。

// 追加するコード
compile project(':CordovaLib')

build.gradleを編集すると、黄色い帯と Sync Now の文字が表示されると思いますので、そのまま Sync Now をクリックします。
以上で作業は終了です。
私の環境では問題なくビルドから実機での起動まで正常に動作しました。

 

もし、同じようにAndroid Studioのバージョンを上げてCordovaで開発しているアプリが動かなくなった場合は、是非こちらの方法を試してみてください。

  • この記事いいね! (2)
村上 著者:村上

【Windows7】「現在サービスが実行されていないため、Windows Update で更新プログラムを確認できません」の対処法

普段使用しているパソコンは、Windows 10なのですが、たまにWindows7 のパソコンを使うことがあります。
で、こちらのパソコン、大体月1くらいでしか使わないので、毎回起動時に Windows Updateを確認するのですが、急に Windows Update が正常に動作しないという不具合が発生しました。

更新プログラムの確認」ボタンを押すと、「現在サービスが実行されていないため、Windows Update で更新プログラムを確認できません。このコンピュータの再起動が必要な可能性があります」というアラートが表示されるようになりました…。
エラーコードも表示されないので、どうしたものかと思いましたが…案外すんなり解決策が掲載されたサイトがヒットしたので、対処法を試してみました。

 

今回参考にしたサイトはこちら。

対処法その1:
現在サービスが実行されていないため、Windows Update で更新プログラムを確認できません
http://pasofaq.jp/windows/update/disablewuauserv.htm

対処法その2:
「現在サービスが実行されていないため、Windows Update – マイクロソフト コミュニティ
https://answers.microsoft.com/ja-jp/windows/forum/windows_7-update/%E7%8F%BE%E5%9C%A8%E3%82%B5%E3%83%BC%E3%83%93/6366117b-aa44-47d8-bb82-cbf2b777fd6b?auth=1

ちなみに、私は1個目の対処法では解決できませんでした。

まず、対処方法その1。
スタートボタンをクリックし、検索ボックスから「サービス」を検索します。
そして、検索にヒットした歯車アイコンの「サービス」をクリックします。
サービスが起動したら、「Windows Update」を探し、ダブルクリックします。
すると ウィンドウが開くので、その中から「スタートアップの種類」で「自動(遅延開始)」を選択します。
そうしたら、「適用」ボタンをクリックし、「開始」ボタンをクリックします。
作業はこれで完了です。
その後、このウィンドウを閉じ、再度 Windows Update を開くと、正常に動作しているとのこと。
…でしたが、私の環境では、こちらの方法ではダメでした。
そもそも、Windows Updateのサービス自体は停止していなかったんですよね。

次に対処方法その2。
「メモ帳」を起動し、下記のコード10行をコピー&ペーストします。

net stop wuauserv
cd %systemroot%
ren SoftwareDistribution SoftwareDistributionold
net start wuauserv
net stop bits
net start bits
net stop cryptsvc
cd %systemroot%\system32
ren catroot2 catroot2old
net start cryptsvc

こちらをデスクトップに、適当な名前を付けて保存します。
「abc.txt」などでOKです。
そうしたら、保存したファイルを右クリックし、「名前の変更」を選択します。
「abc.txt」を「abc.bat」に変更します。
なおこの時、拡張子が表示されない設定になっている場合は、表示する設定に変更してください。

拡張子を変更すると、名前変更の警告が出るかと思いますが、「はい」を押してください。
名前が変更出来たら、ファイルを右クリックし、「管理者として実行」をクリックします。
コマンドプロンプトが起動し、処理が実行されるので、処理が終わったらパソコンを再起動します。
再起動後、Windows Update を実行すると、正常に動作します。

 

私の場合は、対処法その2で Windows Update が動作するようになりましたが、実はそれもすんなりとはいかず…一度再起動しただけでは、エラーコードありのエラーが発生しました。
が、後日再度パソコンを起動して Windows Updateを実行したところ…今度は正常に動作しました。
一度目のエラーは謎ですが…解決したので良しとします。

もし、同じエラーでお困りの方は、是非こちらの方法を試してみてください。

  • この記事いいね! (33)
takahashi 著者:takahashi

Windows ブルースクリーンの歴史

ブルースクリーンといえば、Windowsを使ったことがある方は知っているかと思います。
あのショッキングな青いエラー画面のことです。

この画面ですが、実はWindowsのバージョンが新しくなるごとに変わっていることはご存知でしょうか。

今回はそんなブルースクリーンの変遷を紹介していきたいと思います。

・Windows 9x系

※引用元:https://hdd-check.com/post-945.html

まずはWindows 9x系(95 98 ME)のブルースクリーン。
この世代のWindowsはブルースクリーンが発生しやすい仕組みだったとのことで、見かけている方も多いはず。
9x系のブルースクリーンでは、実はブルースクリーンから元のOSの画面にもどることができたんですね。(昔そういえばしょっちゅうブルースクリーンから復旧させて使っていたのを思い出しました。)
ただ、復帰後もうまく動作せず、結局は再起動が必要になってしまうことも結構ありました。

ちなみに、日本語対応は地味にちゃんとされていました。

・Windows 2000~7

一方こちらはWindows2000以降のNT系Windowsのブルースクリーン。
NT系ではちょっとやそっとのエラーではブルースクリーンが出なくなったので、9x系から乗り換えた方はその安定性の違いに驚いたはずです。
その分、ブルースクリーンが出た際のエラーの深刻度は比較的大きく、OSの動作の継続が困難なため必ず再起動が必要になりました。
基本的に原因はOSの破損、デバイスドライバの不具合、ハードウェア障害・故障が原因でエラーが発生した場合に表示されます。

なお、こちらは日本語版Windowsであっても英語表記のみです。

・Windows 8/8.1

※引用元:https://news.mynavi.jp/article/win81tips-129/ 

Windows 8からは再び日本語版ブルースクリーンが復活しました。
背景の青色も中間色になり、ユーザーフレンドリー感が増した気がします。

なおこちらも2000以降と同様に再起動が必要になりますが、デフォルトの設定であれば自動的に再起動してくれるはずです。

・Windows 10

※引用元:http://www.atmarkit.co.jp/ait/articles/1612/06/news007.html

そしてこちらがWindows 10のブルースクリーン。
日本語化に加えて、QRコードが追加され、より簡単にマニュアルを参照できるようになりました。

再起動が必要なことには変わりはありませんが、かなりわかりやすくなりました。

Windowsの各バージョンのブルースクリーンを見ていくと、どんどん改良されているのがわかりますね。
昔は原因がよくわからなかったり、英語表記だけだったりと、初めて見たときはパニックになるような画面でしたが、最近はいろいろと工夫されていてかなり落ち着て対処できるような内容になってきました。

最近のWindowsであれば、ドライバやOSなど、エラーが発生する原因が限定されてくるので、自力でブルースクリーンに対応できる場合は増えた気がします。
また、最悪ハードウェアの故障だった場合、モバイルノートなどは修理に出すしかないですが、デスクトップや一部のノートPCでは自分で交換できる部品があったり(例えばメモリやHDD)しますので、それで対処もできます。

落ち着いて対処していくことがトラブル解決の近道になりますし、ブルースクリーン自体に原因が表示されることもあるので、ブルースクリーンが出てしまっても慌てず、うまく使いこなせるようになれば、PCのトラブルも怖くなくなるかもしれませんね。


参考サイト:
https://news.mynavi.jp/article/win81tips-129/
https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AB%E3%83%BC%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3
https://hdd-check.com/post-945.html
http://www.atmarkit.co.jp/ait/articles/1612/06/news007.html
http://degiteku.blog.fc2.com/blog-entry-517.html

  • この記事いいね! (0)
村上 著者:村上

【気になるニュース】Android版のGoogleマップに乗り過ごし防止機能が追加!

気になるニュースを見つけたのでご紹介。
私はAndroidのスマホを愛用しているのですが、12月14日にGoogleがAndroid版のGoogleマップに乗り過ごし防止の機能を追加したとのことです。

ニュースの記事はこちらから。

Android版「Googleマップ」に乗り過ごし防止機能
http://www.itmedia.co.jp/mobile/articles/1712/18/news060.html

私は実家に帰省する際に、バスと電車を利用するのですが、特に電車は乗車時間が約1時間ほどと、そこそこ移動時間がかかります。
そのため、座れた時などは良く文庫本を読んでいるのですが、心配性なので、毎回駅に留まるたびに顔を上げて現在地点を確認して、と…これが少し面倒くさい。
夢中になると周りの音が聞こえなくなるタチなので、逆にあまり集中しすぎずに済むので良いのですが、せめて30分くらいは集中して読みたいところ。

 

その点、今回追加された機能を使えば、こまめに現在地を確認する必要もなくなって便利そう。

使い方は簡単で、まずGoogleマップで目的地を設定し、交通手段を選択。

複数のルートが表示される場合は、任意のルートを選択し、最後に右下の「開始」ボタンをタップします。

こうしておくと、目的の駅に着く数十秒前プッシュ通知が送信されてくるとのこと。
設定をすれば、端末の振動もするそうなので、もしも本に夢中になったとしてもきちんと気づいて下車できそうですね。

ずっとナビを起動しておくので、バッテリー消費が激しそうですが、一度試してみたいですね。
特に、一度眠りかけて乗り過ごしそうになったバスで使ってみたいです。

  • この記事いいね! (0)
村上 著者:村上

【Excel】セルに入力した数値を1千円単位で表示する方法

先日、社内で質問されて調べたので、覚え書きのメモとしてまとめ。

エクセルで、金額を表示するときに、1千円単位で表示されているのを見たことがあると思いますが、それをどうやっているのかについてです。
実際の数値を変えるわけにはいかないので、表示形式を修正します。

 

作業手順ですが、まず、1千円単位で表示したいセルを選択し、エクセル上部のホームのメニューから「表示形式」をクリックします。
実際の画面では、赤枠で囲ったエリアの、プルダウンメニューです。

「数値」とか「会計」などが選択肢として表示されますが、ここでは一番下の「その他の表示形式」を選択します。

こちらを選択すると、下記のようなダイアログが表示されるので、左メニューの「ユーザー定義」を選択し、「種類」の入力欄に、「#,##0,」と入力し、OKを押します。


作業としてはこれだけです。
一見すると、3桁ごとにカンマを入れるときの指定方法と同じに見えますが、末尾にカンマが入るのがポイントです。

なお、100万円単位で表示したいときは、「#,##0,,」というように、末尾にカンマを2つ追加すればOKです。

 

ちょっとした小ネタではありますが、知っていると便利ですね。
桁数の多い金額を扱うときには、是非ご活用ください。

  • この記事いいね! (0)
村上 著者:村上

【Android】setVisibilityを使ってボタンを表示・非表示にする方法

ちょっとボタンの表示・非表示を使うことがあったのでメモとして。

なお、今回ボタンはこのように定義しています。

// ボタンの定義
Button btn;
btn= (Button) findViewById(R.id.button);


で、ボタンを非表示にする場合、setVisibility() メソッドを利用します。

// ボタンを非表示にする
btn.setVisibility(View.INVISIBLE);
btn.setVisibility(View.GONE);

引数は、View.INVISIBLEView.GONE のどちらかを指定します。

 

そして今回迷ったのが、こちらの引数でどちらを使うのか、です。
どちらも非表示には変わりないのですが、微妙に挙動が違います。

まず、View.INVISIBLE
こちらは、単に見えなくなるだけで、ボタンの領域は確保されたままです。
CSSでいうところの、visibility:hidden の挙動と同じですね。

次に、View.GONE
こちらは、ボタンの領域を確保せず、非表示にしたボタンのエリアを詰めて表示します。
View.INVISIBLEが「隠す」というイメージに対して、View.GONE は「削除」というイメージですね。
CSSでは、display:none の挙動に近いです。

ちなみに、今回は View.INVISIBLE を使いました。

 

なお、ボタンを表示する場合はこちら。

// ボタンを表示する
btn.setVisibility(View.VISIBLE);

引数に View.VISIBLE を指定します。

 

こういう違いって、いざ使おうとするとどちらがどちらの挙動だったかをすぐ忘れてしまいます。
もしくは、引数をどう指定するかとかも忘れやすいので、今回、備忘録としてまとめてみました。
結構よく使うメソッドなので、少しでも参考になれば。

  • この記事いいね! (0)