Hatena::ブログ(Diary)

sobasobasobaの備忘録

2013-12-31

grub error22 が出た時のメモ

22:04

UbuntuWindows 7デュアルブートしていたときに発生した問題のメモ。

Ubuntuアンインストールしようと思い、Windows 7 から、Ubuntuパーティションを削除したところ、電源起動時に GRUB Error 22 となり OS が起動しなくなった。

原因は、Ubuntuインストールするときに、UbuntuGRUB を上書きしており、Ubuntu を削除したせいで GRUB が読みこめなくなっていた事による。

以下、対策メモ。

  1. セーフモードで起動
  2. 起動ディスクを使って Ubuntu を再インストール。こうすると GRUB Error が出なくなる。
  3. 起動時に F8 を押して詳細ブートオプションに行く。
  4. コンピューターの修復 を選択。
  5. システム回復オプション より、 コマンドプロンプト を選択。
  6. 以下のコマンドを入力。これで、Windows 7MBRが修復され、Windows 7 が優先的に起動されるようになる。
  7. bootrec /fixboot 
    bootrec /fixmbr
    
  8. Windows 7 より、Ubuntuパーティションを削除。

matplotlib の libping 問題の解決方法

| 21:58

matplotlib を使おうとすると以下のようなエラーが出た。その際に行った解決方法のメモ。

Traceback (most recent call last):
  File "trapezoid.py", line 4, in <module>
    import matplotlib.pyplot as plt
  File "/usr/local/lib/python2.7/site-packages/matplotlib/pyplot.py", line 26, in <module>
    from matplotlib.figure import Figure, figaspect
  File "/usr/local/lib/python2.7/site-packages/matplotlib/figure.py", line 32, in <module>
    from matplotlib.image import FigureImage
  File "/usr/local/lib/python2.7/site-packages/matplotlib/image.py", line 22, in <module>
    import matplotlib._png as _png
ImportError: No module named _png
  1. ここ(http://sourceforge.net/projects/libpng/files/libpng14/) より、libpng-1.4.12.tar.bz2 をダウンロード
  2. 解凍
  3. 出てきたフォルダの下で ./configure
  4. 出てきたフォルダの下で make
  5. 出てきたフォルダの下で make install
  6. matplotlib をインストールしなおす。

Dropbox で、更新があったディレクトリ以下を自動的に同期させる

| 21:49

Dropbox で同期したい対象のディレクトリシンボリックリンクを張り、

ディレクトリ内のファイルに変更があったときに自動的に同期するようにする。

  • 例えば、 D:\d_test のディレクトリ以下を自動的に同期させたいとき:
C:\Users\<ユーザ名>\Dropbox\>mklink /D c_test D:\d_test

※ここでは、c_test という名前でシンボリックリンクができるが、この名前は何でもよい

root権限が無い環境で、Python 2.7.4 のインストールをする方法

21:37

root 権限が無いため、/usr/local/bin とかにインストールすることが出来ない。

そのため、以下のように、自分のディレクトリインストールして、そこにパスを通すという形でやればよい。

$ export PATH=$HOME/local/bin:$PATH
$ ./configure --prefix=$HOME/local
$ make
$ make install

Thunderbirdにて、自分が送信したメールも自動振り分けする

| 21:23

Thunderbirdは、受信メールをフィルターでフォルダに自動仕分けしてくれるが、自分が送信したメールは自動振り分けしてくれない。

Send Filterアドオンを導入することで、送信済みメールも自動振り分けできるようになる。

以下導入メモ。

  1. https://addons.mozilla.org/ja/thunderbird/addon/5538/ から send_filter-1.0-tb+sm.xpi をダウンロード
  2. Thunderbird を開き、ツール>アドオン を選択。
  3. インストール をクリックして、ダウンロードしたファイルを選択し、OK をクリック。
  4. ツール>メッセージフィルタ を開く。
  5. 送信済み保存先に自動的に適用する にチェック
  6. フィルターの条件に、「差出人 - が次を含む - "自分のメールアドレス"」を追加。後はお好みで。

Memtest86+ の実行手順

21:14

Memtest86+Windows 上では起動できず、CDやUSBメモリから起動する必要がある。

今回はUSBメモリから起動したので、その手順を以下に述べる。

  1. Memtest86+インストール
    1. http://www.memtest.org/#downiso よりダウンロード
    2. 「Download - Auto-installer for USB Key (Win 9x/2k/xp/7) 」
    3. USBメモリを接続したまま exe ファイルを起動
    4. インストール対象の USB メモリを選択し、インストール
  2. Memtest86+の実行
    1. いったんPCの電源を入れ直してBIOSを起動し、USBメモリの起動優先順位を上げる
    2. USBメモリを接続したまま、再びPCの電源を入れなおすと、Memtest86+ が実行される

Sublime Text 2 にて、パッケージをアンインストールする方法

| 20:33

  1. Tools > Command Palette を選択
  2. 出てきた入力欄に remove を入力し、候補に挙がってくる Package Control: Remove Package を選択
  3. インストールされているパッケージ一覧が表示されるので、削除したいパッケージを選択

Sublime Text 2 に、 EmacsKillRing パッケージをインストール

| 20:32

Sublime Text 2 にて、 emacs キーバインドを使おうと思い Sublemacspro をインストールしたが、 Ctrl+k の挙動が少し emacs と異なっていた。Ctrl+k は一行分しかバッファにたまらない模様。

そこで、EmacsKillRing パッケージをインストールして、Ctrl+k の挙動を emacs と同じにするようにした。

  • C:\Users\<ユーザ名>\AppData\Roaming\Sublime Text 2\Packages\User 以下に、EmacsKillRing.py を配置
  • C:\Users\<ユーザ名>\AppData\Roaming\Sublime Text 2\Packages\User\Default (Windows).sublime-keymap にて、以下を挿入
    // EmacsKillRing
    // https://github.com/stiang/EmacsKillRing
    {"keys": ["ctrl+w"], "command": "expand_selection", "args": {"to": "word"} },
    {"keys": ["ctrl+k"], "command": "emacs_kill_line" },
    {"keys": ["ctrl+y"], "command": "paste" },
    {"keys": ["ctrl+space"], "command": "emacs_set_mark" },
    {"keys": ["ctrl+w"], "command": "emacs_kill_to_mark" },
    {"keys": ["alt+w"], "command": "emacs_kill_ring_save" },
    //ctrl + g で、コマンドのキャンセルが効かなくなるため、以下はコメントアウト
    //{"keys": ["ctrl+g"], "command": "cancel_mark" }

Sublime Text 2 で、 emacs キーバインドを使う

| 20:31

    • View > Show Console を選択し、出てきた入力画面で以下を入力
import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/’ +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')
    • Tools > Command Palette を選択し、出てきた入力画面で install を入力
[
    {"keys": ["ctrl+m"], "command": "insert", "args": {"characters": "\n"}},
    {"keys": ["ctrl+shift+-"], "command": "redo"}
]
  • このほか、以下も入れたら便利だった
    • IMESupport for Sublime Text 2: 日本語をインライン入力できるようにする

Sublime Text 2 の設定ファイル

| 20:28

  • C:\Users\<ユーザ名>\AppData\Roaming\Sublime Text 2\Packages\User 以下の、Preferences.sublime-settings が設定ファイルとなる。
  • 自分は、以下のとおりに書き換えた。
{
    // タブをスペースに変換
    "translate_tabs_to_spaces": true,
    
    // () ,[]内のインデントを揃える
    "indent_to_bracket": true,
    
    // 空行のインデントは取り除かない
    "trim_automatic_white_space": false,
    
    // カーソルがある行をハイライトする
    "highlight_line": true,
    
    // スペースを表示する
    "draw_white_space": "all",
    
    // ファイルの最終行を、改行で終わらせる
    "ensure_newline_at_eof_on_save": true,
    
    // デフォルトの改行コード
    "default_line_ending": "unix",
    
    // タイトルバーにフルパスを表示しない
    "show_full_path": false
}

右クリックメニューに「Terapad で開く」を追加する

| 11:44

  1. 左下の「スタート」を押下、「プログラムとファイルの検索」に、regeditを入力。
  2. HKEY_CLASSES_ROOT > * > shell と進んでゆく。
    • WindowsXPの場合は、HKEY_CLASSES_ROOT > Folder > shell
  3. shell を右クリックし、 新規 > キー を選択。
  4. 新しく出来たキーの名前「新しいキー #1」を、「Terapad で開く」に変更。
    • ここに付ける名前は何でもよい。
    • WindowsXPの場合は、「Terapadで開く」をクリックし、右側に出てくる (規定) をダブルクリックして、値のデータに「Terapad で開く」を入力
  5. Terapad で開く」を右クリックし、 新規 > キー を選択。
  6. 新しく出来たキーの名前「新しいキー #1」を、「command」に変更。
  7. 「command」をクリックし、右側に出てくる (規定)を ダブルクリック
  8. 値のデータに、以下を入力。
"C:\Program Files\TeraPad\TeraPad.exe" "%1"
Connection: close