yuu_nkjm blog
2011-05-11(Wed) [長年日記] 編集
[Lucene][NLP][Java] LuceneでTF(Term Frequency: 単語の出現頻度)を取得する
IndexSearcher.explain(検索にヒットした文書)というメソッドを呼ぶと,検索にヒットした文書のExplanationを取得できる.Explanation.toStringの中にTF(Term Frequency: 単語の出現頻度,回数)やPF(Phrase Frequency: フレーズの出現頻度)が文字列で格納されている.計算コストはかかるが,この文字列からTFやPFを切り出すことができる.
最初は全文検索システム Hyper Estraierを使おうと思ったんだけど,TFより高いレイヤ(スコアの高い文書の取得とか)でやる分には良さそうだったけど,TFを調べるのに適したAPIがなさそうだったので,Luceneを使うことにした.
サンプルコード
id:sleepy_yoshiさんのサンプルコードをお借りすると,こんな感じ.class HogeSearch { public static void main (String [] args) throws Exception { //最後らへん for (ScoreDoc scoreDoc : docs2.scoreDocs) { Explanation explanation = indexSearch.explain( query2, scoreDoc.doc); System.out.println(explanation.toString()); } } }
(出力)
━━━━━━━━━━━━━━━━━━━━━━━ 0.8784157 = (MATCH) weight(body:"あひ ひゃ" in 1), product of: 1.0 = queryWeight(body:"あひ ひゃ"), product of: 2.8109303 = idf(body: あひ=1 ひゃ=1) 0.3557541 = queryNorm 0.8784157 = fieldWeight(body:"あひ ひゃ" in 1), product of: 1.0 = tf(phraseFreq=1.0) ←←←←←←← 【ココ】 2.8109303 = idf(body: あひ=1 ひゃ=1) 0.3125 = fieldNorm(field=body, doc=1) ━━━━━━━━━━━━━━━━━━━━━━━
TFやPFを計算している箇所
TFやPFを計算し格納するのは,以下の箇所の様だ.
public class TermQuery extends Query { private class TermWeight extends Weight { public Explanation explain(IndexReader reader, int doc) throws IOException { if (termDocs != null) { try { if (termDocs.skipTo(doc) && termDocs.doc() == doc) { tf = termDocs.freq(); } } finally { termDocs.close(); } tfExplanation.setValue(similarity.tf(tf)); tfExplanation.setDescription("tf(termFreq("+term+")="+tf+")"); } } } }
public class PhraseQuery extends Query { private class PhraseWeight extends Weight { public Explanation explain(IndexReader reader, int doc) throws IOException { float phraseFreq; if (d == doc) { phraseFreq = scorer.freq(); } else { phraseFreq = 0.0f; } tfExplanation.setValue(similarity.tf(phraseFreq)); tfExplanation.setDescription("tf(phraseFreq=" + phraseFreq + ")"); } } }
2011-05-19(Thu) [長年日記] 編集
[Java][Swing] イベントディスパッチスレッド以外のスレッドからのイベントディスパッチスレッドへのアクセス
概要
イベントディスパッチスレッド(EDT)とは別のスレッドで,重たい計算をさせたい.しかし,Swingのコンポーネントに影響を与える処理を外部のスレッドで行うことはできない.外部からイベントディスパッチスレッドに処理を依頼するときは,SwingUtilities.invokeLaterを用いる.
分かりやすい例
時間のかかる処理を行った後、最後にSwingUtilities.invokeLater()を呼び出しています。これは、「toDoListModel.remove(int index);」および「setButtonsEnabled(true)」の2つの処理をイベントディスパッチスレッドで実行させるために使っています。なぜ、わざわざこのようなことをするのでしょうか?
Swingのスレッドポリシーとして、次のようなものがあります。
「コンポーネントの「状態に依存する」あるいは「状態に影響を与える」 処理はすべてイベントディスパッチスレッド上で動作しなければならない」
これはいい換えると、Swingの描画に関連する処理は、シングルスレッドで処理しなくてはならないということです。そして、そのシングルスレッドがイベントディスパッチスレッドなのです。このルールにのっとるため、わざわざSwingUtilities.invokeLater()を使っているのです。
Swingライブラリのソースコードとサンプル
(snip) public class SwingUtilities implements SwingConstants { (snip) /** * doRun.run() を、AWT イベントディスパッチスレッドで非同期的に実行させます。 * これは、保留中のすべての AWT イベントが処理されたあとに発生します。 * このメソッドは、アプリケーションスレッドが GUI を更新する必要がある * ときに使用されます。次の例では、invokeLater 呼び出しは * イベントディスパッチスレッドに Runnable オブジェクトの * doHelloWorld のキューを呼び出してから、メッセージを出力します。 * * * Runnable doHelloWorld = new Runnable() { * public void run() { * System.out.println("Hello World on " + Thread.currentThread()); * } * }; * * SwingUtilities.invokeLater(doHelloWorld); * System.out.println("This might well be displayed before the other message."); * * invokeLater がイベントディスパッチスレッド、たとえば JButton の * ActionListener から呼び出された場合、doRun.run() は保留中のすべて * のイベントが処理されるまで実行が延期されます。ただし、doRun.run() * がキャッチされない例外をスローする場合は、イベントディスパッチスレッド * (現在のスレッドではない) が状態を元に戻します。 * * このメソッドの追加のドキュメントと例については、「The Java Tutorial」の * * 「How to Use Threads」を参照してください。 * * JDK Version 1.3 以降、このメソッドは java.awt.EventQueue.invokeLater() * を呼び出すだけです。 * * このメソッドは、ほかの Swing のメソッドとは異なり、どのスレッドから * でも呼び出せます。 * * @see #invokeAndWait(Runnable) */ public static void invokeLater(Runnable doRun) { EventQueue.invokeLater(doRun); } (snip)Oracle Java 1.6 SwingUtilitiesクラスソースコードより
関連ページ
2011-05-20(Fri) [長年日記] 編集
[Windows 7 (64bit)][MSOffice] Office 2007とOffice 2010を共存させる
インストール
Office 2007とOffice 2010を同じOS上にインストールすることができる.まず,Office2007をインストールする.その後,Office 2010をインストールする.インストーラを起動すると,自動アップグレードかカスタムアップグレード(正確な文言忘れた…)かを選択させられる.この時,カスタムアップグレードを選ぶと,"以前のバージョンを全て残す"という選択ができるようになるので,それを選べば良い.
Power Pointを複数ウィンドウで開けない(MDIになってしまう)のが嫌だったんだけど,複数のバージョンのOfficeを使い分ければ複数ウィンドウでPower Pointファイルを開くことも可能になる.Power Point間でコピーアンドペーストをしたいときとか,MDI形式で開かれるとウィンドウの切替が面倒なんだよね.
関連づけ
パワーポイントやエクセルのアイコンをダブルクリックしたとき,Office 2010が起動して欲しいのに,Office 2007が起動してしまった.
ひとまずMicrosoft Ansersに掲載されていた以下の方法で乗り切った.
Excel, PowerPointの設定を変更するには、/regserver コマンドを使用して、優先に起動するプログラムを変更することができます。 複数のバージョンの Office がインストールされている場合の Office オートメーションについて 例)Excelの設定例 Office 2010を優先にしたい場合: "c:\program files\microsoft office\office14\excel.exe" /regserver Office 2007を優先にしたい場合: "c:\program files\microsoft office\office12\excel.exe" /regserver Office 2010を優先にしたい場合は、共存時のインストール順序に従って、正しくインストールを行うだけで済みます。 Officeを共存する場合のインストール順番は、古いバージョンの順にインストールを行う必要があります。 つまり、Office 2007、Office 2010の順にインストールを行います。 この順番が違っていると、正しく動作しない現象が発生する可能性があります。(共存インストールの条件) また、Office 2010が64bit版の場合は、共存インストールを行うことができません。 ----- 追記 ----- 今更ですが、混乱するといけないので追記をしておきます。 起動する優先の変更を /regserver コマンドで行った場合、そのまま使用すると変更が反映されない場合がありますので、 変わらない場合は、PCを再起動してから確認を行ってください。
コピペ用のメモ.
"C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE" /regserver "C:\Program Files (x86)\Microsoft Office\Office14\POWERPNT.EXE" /regserver "C:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE" /regserver
関連ページ
2011-05-21(Sat) [長年日記] 編集
[openSUSE][PHP][Linux][Langrid] openSUSEにPHP 5.2をインストールする (openSUSEで最新版でないパッケージをインストールする)
openSUSE11.2以降ではPHP 5.3以降がインストールされる.PHP 5.2では提供されていたがPHP 5.3では提供されなくなったメソッドが存在するため,PHPでかかれたソフトウエアによっては,PHP 5.2以前でないと動かないものがある.
以下では,openSUSEでPHPパッケージをダウングレードする方法について説明する.
同様の手続きを踏むことで,PHP以外のパッケージでも,最新版でないパッケージをインストール出来るはずである.
レポジトリの登録
yast→ソフトウェア→ソフトウェアレポジトリでhttp://download.opensuse.org/update/11.1/を登録する.
パッケージのインストール
インストールしたいパッケージ(php, apache2-mod_php5,php-mysql,php-jasonなど)を検索したあと,表示→パッケージバージョンと選択すると,右下にインストールできるバージョンの一覧が表示されるので,そこからインストールしたいバージョンを選択し,インストールする.
yastの表示画面を大きくするとわかるが,右上のエリアには,インストール可能な最新バージョンとインストールされているバージョンが表示されている.
─────────────────────────────────────── │名前 │概要 │可能 │インストール │ │ │ │バージョン│バージョン │ ─────────────────────────────────────── │apache2-mod_php5 │PHP5 Module for Apache 2.0 │5.3.3 │5.2.14 │ │php5-json │PHP5 Extension Module │5.3.3 │5.2.14 │
話は少しはずれるが,php-soapは,pear-soapとは別物である.別途,"pear install soap-beta"などとして,インストールする必要がある.
php.iniの編集
phpからmysqlを利用する場合,以下の二つの記述を/etc/php5/apache2/php.iniと/etc/php5/cli/php.iniに書き込む必要がある.このパスは/etc/my.cnfに書かれているsockへのパスと揃えた方が良いかもしれない.
mysql.default_socket = /var/run/mysql/mysql.sock mysqli.default_socket = /var/run/mysql/mysql.sock
ついでにお好みでログの設定.
display_errors = On error_log = /var/log/apache2/php_error.log
sysconfigの変更
yast→/etc/sysconfigエディタからNetwork→www→apache2とたどって,APACHE_MODULESのエントリにphp5を追加する.
実行権限の付与
apache2用のphpモジュールに実行権限がついてないので,つける.
chmod a+x /usr/lib64/apache2/mod_php5.so
apache自動起動の設定と起動
定番の自動起動の設定と起動.
chkconfig apache2 on /etc/init.d/apache2 start
関連ページ
- openSUSE 11.2: Downgrade PHP 5.3 to 5.2 | Badzilla
かなりの部分がこのページの翻訳
2011-05-22(Sun) [長年日記] 編集
[openSUSE][PHP][Langrid][CMS] openSUSE 11.2に言語グリッドツールボックス(Language Grid Toolbox)をインストール
openSUSE 11.2が動作するマシン上に,言語グリッドツールボックス(Language Grid Toolbox, Langrid Toolbox)をインストールをする.
php 5.2系のインストール
php 5.3系(以降)では動かないことに注意する.今回は5.2系を入れた.openSUSE 11.2へのPHP 5.2インストールはopenSUSEにPHP 5.2をインストールする - yuu_nkjm blog(2011-05-21)を参照.
yastでphp-jason, php-mysql, php-pearなど,必要そうなライブラリを入れる.
php-pear-SOAPとphp-SOAPが異なることに注意する.php-pear-soapは以下でインストール出来る.
pear install soap-beta pear list
MySQLのインストール
MySQLの文字コードがUTF8になっていることを確認する.
mysql> show variables like "char%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+
データベースの作成
create database ${dbname} default character set utf8 collate utf8_general_ci; 例えば create database toolbox default character set utf8 collate utf8_general_ci;
ユーザの作成
grant all on *.* to toolbox@localhost; set password for toolbox@localhost=password('passwd');
XOOPSと言語グリッドToolboxのインストール
ここからは,インストール手順の通り実行する.
メモ
-
chmod 777 toolbox/html/uploads/ toolbox/html/cache/ toolbox/html/templates_c/ chmod 666 toolbox/html/mainfile.php chmod 777 toolbox/xoops_trust_path/cache chmod 777 toolbox/xoops_trust_path/templates_c chmod 777 toolbox/xoops_trust_path/session chmod 777 toolbox/xoops_trust_path/log chmod 777 toolbox/xoops_trust_path/modules/protector/configs
- メモリ割り当てを256Mにする.
2011-05-23(Mon) [長年日記] 編集
[Wikipedia][CMS] Wikipediaのスナップショットを取得
自分でクローリングしなくてもWikipediaのダンプデータをダウンロードすることができる.というより,クローリングすると迷惑なので,データが欲しかったらダンプデータをダウンロードする.以下のページからのリンクをたどると,ダウンロードリンクがある.色々な種類(記事ページだけとか議論ページも入っているとか)のダンプがあるので,好きな種類を選ぶ.
以下,自分のコピペ用.
英語版Wikipedia(記事ページのみ)
wget http://download.wikimedia.org/enwiki/20091103/enwiki-20091103-pages-articles.xml.bz2 wget http://download.wikimedia.org/enwiki/20100116/enwiki-20100116-pages-articles.xml.bz2 wget http://download.wikimedia.org/enwiki/20100130/enwiki-20100130-pages-articles.xml.bz2 wget http://download.wikimedia.org/enwiki/20100730/enwiki-20100730-pages-articles.xml.bz2 wget http://download.wikimedia.org/enwiki/20100817/enwiki-20100817-pages-articles.xml.bz2 wget http://download.wikimedia.org/enwiki/20100904/enwiki-20100904-pages-articles.xml.bz2 wget http://download.wikimedia.org/enwiki/20100916/enwiki-20100916-pages-articles.xml.bz2 wget http://download.wikimedia.org/enwiki/20101011/enwiki-20101011-pages-articles.xml.bz2 wget http://download.wikimedia.org/enwiki/20110115/enwiki-20110115-pages-articles.xml.bz2 wget http://download.wikimedia.org/enwiki/20110317/enwiki-20110317-pages-articles.xml.bz2 wget http://download.wikimedia.org/enwiki/20110405/enwiki-20110405-pages-articles.xml.bz2 bunzip2 -k enwiki-20100730-pages-articles.xml.bz2 enwiki-20100904-pages-articles.xml.bz2 enwiki-20100817-pages-articles.xml.bz2
日本語版Wikipedia(記事ページのみ)
wget http://download.wikimedia.org/jawiki/20100226/jawiki-20100226-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20100306/jawiki-20100306-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20100317/jawiki-20100317-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20100328/jawiki-20100328-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20100607/jawiki-20100607-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20100624/jawiki-20100624-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20100729/jawiki-20100729-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20100812/jawiki-20100812-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20100827/jawiki-20100827-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20100910/jawiki-20100910-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20100924/jawiki-20100924-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20101007/jawiki-20101007-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20101018/jawiki-20101018-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20101102/jawiki-20101102-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20110129/jawiki-20110129-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20110308/jawiki-20110308-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20110404/jawiki-20110404-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20110420/jawiki-20110420-pages-articles.xml.bz2 wget http://download.wikimedia.org/jawiki/20110507/jawiki-20110507-pages-articles.xml.bz2 bunzip2 -k jawiki-20100328-pages-articles.xml.bz2 jawiki-20101102-pages-articles.xml.bz2 jawiki-20100306-pages-articles.xml.bz2 jawiki-20101007-pages-articles.xml.bz2 jawiki-20110129-pages-articles.xml.bz2 jawiki-20110507-pages-articles.xml.bz2 jawiki-20100317-pages-articles.xml.bz2 jawiki-20101018-pages-articles.xml.bz2 jawiki-20110308-pages-articles.xml.bz2 jawiki-20100607-pages-articles.xml.bz2 jawiki-20100624-pages-articles.xml.bz2 jawiki-20100729-pages-articles.xml.bz2 jawiki-20100812-pages-articles.xml.bz2 jawiki-20100827-pages-articles.xml.bz2 jawiki-20100910-pages-articles.xml.bz2 jawiki-20100924-pages-articles.xml.bz2
2011-05-24(Tue) [長年日記] 編集
[openSUSE][NLP] openSUSE 11.2でTermExtractを動かす
専門用語自動抽出モジュールTermExtractをインストールした.オフィシャルの解説は,専門用語(キーワード)自動抽出用Perlモジュール "TermExtract"の解説にある.
Perlのインストール
Perl言語処理用ソフトウェアレポジトリを登録し,yastで以下をいれた.
- perl-Unicode-String
- perl-Unicode-Map
- perl-Text-Iconv
- perl-Path-Class
- perl-Log-Log4perl
- perl-File-Type
- perl-Class-Accessor
- perl-UNIVERSAL-require
- perl-ExtUtils-PkgConfig
- perl-ExtUtils-Depends
Mecab
mecabのインストール
ちょうど良いレポジトリが見つからなかったので,手動でインストール.
wget http://sourceforge.net/projects/mecab/files/mecab/0.98/mecab-0.98.tar.gz/download tar zxfv mecab-X.X.tar.gz cd mecab-X.X ./configure make make check su make install
mecab辞書のインストール
ちょうど良いレポジトリが見つからなかったので,手動でインストール.
wget http://sourceforge.net/projects/mecab/files/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz/download tar zxfv mecab-ipadic-2.7.0-XXXX.tar.gz mecab-ipadic-2.7.0-XXXX ./configure make su make install
TermExtractのインストール
ダウンロード
専門用語(キーワード)自動抽出用Perlモジュール "TermExtract"の解説を参考にインストールした.Perlのモジュールのインストールには,ppmってコマンドがあるんだな.
オプション その1 高精度の英文専門用語抽出 PerlモジュールLingua::EN::Taggerがインストールされていない場合は次の手順でインストールします。なお、この手順はインターネットに接続されている環境が前提です。 1.コマンドプロンプト(MS-DOSプロンプト)を起動する。 2.ppm install Lingua-EN-Tagger とコマンドを投入する。インストールが開始される。 (※nkjm追記) プロキシが必要な環境であれば,"set HTTP_PROXY=http://xxx.xx.xxx.xx:8080"のように環境変数を設定する. 3.QUIT でコマンドプロンプトに戻る 4.EXIT でコマンドプロンプトを終了する。
UTF-8化
MeCab.pmがEUCになっているので,UTF-8に変換する.
cd TermExtract-4_08/blib/lib/TermExtract/ cp -a MeCab.pm MeCab.org.pm nkf -w --overwrite MeCab.pm
実行
mecab target.txt > mecab_out.txt perl SampleScripts/UNIX/ex_mecab.pl
関連ページ
MeCabの辞書をトレーニングするものが公開されていたけど,うまく行かなかった.後日再挑戦したい.
2011-05-26(Thu) [長年日記] 編集
[Windows] VIEWINGでローカルHDDに保存された辞書を使う
「CD コンピュータ用語辞典 英和・和英/用例・文例 第3版 日外アソシエーツ 」という辞書をインストールしたところ,VIEWINGというソフトウェアを入れさせられた.このソフトウェアに,ローカルのハードディスクに保存した辞書を認識させるには,「CDドライブの設定」というボタンをクリックし,ローカルHDDに保存した辞書へのパスを指定すれば良いようだ.このメニューの文言はおかしいやろ….
2011-05-27(Fri) [長年日記] 編集
[Windows 7 (64bit)][Linux] DVD(CD)からブートし,アクティブなパーティションを変更する
誤ったアクティブパーティションフラグの付与
特別な設定をせずWindows 7をインストールしたところ,システムで予約済みが"システム,アクティブ,プライマリパーティション",Cドライブが"ブート,ページファイル,クラッシュダンプ,プライマリパーティション"という状態になっていた.
Windowsにおいて「コンピュータの管理」から,ドライブレター(ドライブ文字)やアクティブなパーティションの変更ができる.この画面において,操作を誤ってアクティブなパーティションを変更してしまった.それを修正しようとしたとき,Windows XPまでの習性で,Cドライブにアクティブフラグを立ててしまった.その後,PCを再起動したところ,"NTLDR is missing"というエラーが出て,ブートできなくなってしまった.
OpenSUSEインストールディスクのRescue Modedによる修正
パーティションのアクティブフラグを修正すれば,ブートできる可能性が高いので,その方法を考えた.Windows 7のインストールディスクを使って回復ツールから修正する方法があるようだが,手元にWindows 7のインストールディスクがなかった.openSUSE11.4のインストールディスクが手元にあったので,これを使う事にした.
openSUSE11.4のインストールディスクを入れ,PCの電源を入れると,インストールメニューが開く.そこで,"Rescue System"を選ぶと,レスキューモードでログインできる
あとは,messageなどを見てHDDのデバイスファイルを確認し,fdiskを行った.fdiskで,アクティブフラグを"システムで予約済み"に立てて終了した.Cドライブのアクティブフラグを下げた方が良かったのだろうがやり忘れた….
fdiskの操作例
対象が今回のWindowsマシンとは異なるが,参考となる操作例を示す.
下記の例をそのまま実行すると,システムがブートしなくなることに注意!
fdisk /dev/sda このディスクのシリンダ数は 243201 に設定されています。 間違いではないのですが、1024 を超えているため、以下の場合 に問題を生じうる事を確認しましょう: 1) ブート時に実行するソフトウェア (例. バージョンが古い LILO) 2) 別の OS のブートやパーティション作成ソフト (例. DOS FDISK, OS/2 FDISK) コマンド (m でヘルプ): m コマンドの動作 a ブート可能フラグをつける b bsd ディスクラベルを編集する c dos 互換フラグをつける d 領域を削除する l 既知の領域タイプをリスト表示する m このメニューを表示する n 新たに領域を作成する o 新たに空の DOS 領域テーブルを作成する p 領域テーブルを表示する q 変更を保存せずに終了する s 空の Sun ディスクラベルを作成する t 領域のシステム ID を変更する u 表示/項目ユニットを変更する v 領域テーブルを照合する w テーブルをディスクに書き込み、終了する x 特別な機能 (エキスパート専用) コマンド (m でヘルプ): p ディスク /dev/sda: 2000.4 GB, 2000398934016 バイト ヘッド 255, セクタ 63, シリンダ 243201 Units = シリンダ数 of 16065 * 512 = 8225280 バイト Disk identifier: 0x000df3e8 デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 1 262 2104483+ 82 Linux スワップ / Solaris /dev/sda2 * 263 2873 20972857+ 83 Linux /dev/sda3 2874 243201 1930434660 83 Linux コマンド (m でヘルプ): a 領域番号 (1-4): 1 コマンド (m でヘルプ): p ディスク /dev/sda: 2000.4 GB, 2000398934016 バイト ヘッド 255, セクタ 63, シリンダ 243201 Units = シリンダ数 of 16065 * 512 = 8225280 バイト Disk identifier: 0x000df3e8 デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 1 262 2104483+ 82 Linux スワップ / Solaris /dev/sda2 * 263 2873 20972857+ 83 Linux /dev/sda3 2874 243201 1930434660 83 Linux コマンド (m でヘルプ): a 領域番号 (1-4): 2 コマンド (m でヘルプ): p ディスク /dev/sda: 2000.4 GB, 2000398934016 バイト ヘッド 255, セクタ 63, シリンダ 243201 Units = シリンダ数 of 16065 * 512 = 8225280 バイト Disk identifier: 0x000df3e8 デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 1 262 2104483+ 82 Linux スワップ / Solaris /dev/sda2 263 2873 20972857+ 83 Linux /dev/sda3 2874 243201 1930434660 83 Linux コマンド (m でヘルプ): q
上記の例をそのまま実行すると,システムがブートしなくなることに注意!