2015/05/27

Keine Ausgabe der Texterkennung bei gscan2pdf unter Ubuntu 14.04

Texterkennungsproblem unter Ubuntu 14.04


Nachdem man Ubuntu 12.04 LTS auf 14.04 LTS aktualisiert hat, wurde gscan2pdf 0.9.32 auf 1.2.3 aktualisiert. gscan2pdf kann mit zusätzlichen  Programme wie tesseract-ocr, cuneiform-Linux, GOCR usw. Texte erkennen. Bei der Texterkennung mit gscan2pdf 1.2.3 unter Ubuntu 14.04 tritt zwar das Problem wie mit gscan2pdf 0.9.32 unter Ubuntu 12.04 nicht auf. Aber ein anders Problem; Bei der Texterkennung gibt gscan2pdf 1.2.3 keine Ausgabe aus, wenn er mit tesseract-ocr oder mit cuneiform-Linux arbeitet.



Woran liegt es?


Es liegt die Dateinamenserweiterung. Tesseract-ocr verwendet in Version 3.0.3 als Dateinamenserweiterung .hocr, wobei gscan2pdf sie .html erwartet.(Siehe hier) Das Problem ist schon bekannt und ab gscan2pdf 1.2.5 wurde es fixiert.(Siehe hier)



Die Lösungen


Lösung 1
Modifiziere die Datei Tesseract.pm.(Siehe hier)
  1. öffne ein Terminal und gehe in den Ordner Gscan2pdf, wo die Datei Tesseract.pm liegt.
  cd /usr/share/perl5/Gscan2pdf/
  2. Öffne diese Datei in einem Editor (z. B. gedit) mit Rootrechten.
  sudo gedit Tesseract.pm 
  3. ersetze in Zeile 189 das ".html" durch ".hocr".
  4. Speichere die Datei Tesseract.pm und schließe den Editor.
 
Lösung 2
Aktualisiere den gscan2pdf von 1.2.3 auf neueste.(Siehe hier)
 
Lösung 3 (nur für gscan2pdf 1.2.4 Benutzer)
Wende den Patch (den Bugfix) Tesseract.pm.patch an.(Siehe hier)
Das ist die Lösung für gscan2pdf 1.2.4. Jedoch liegt unter Ubuntu 14.04 gscan2pdf in Version 1.2.3 in den offiziellen Paketquellen vor. Wer gscan2pdf 1.2.4 aus einer PPA herunterladet hat, installiert hat und nicht aktualisieren will, wäre diese Lösung anwendbar.



Was ist eigentlich gscan2pdf?


gscan2pdf ist ein Programm zu scannen und PDF-Dokumenten aus eingescannte Vorlagen zu erstellen. Viele weiteren Formaten z. B. DjVu-Dokumente sind erstellbar. Es können eine Texterkennung verwendet werden. Eine ausführliche Beschreibung liefert gscan2pdf.



Ist eine eingescannte Datei keine Text-Datei?


Generell nicht. Allgemein ist eine eingescannte Datei eine Bild-Datei. Deshalb obwohl sie lesbar ist, erkennt ein PC kein Zeichen drauf und funktioniert "Copy and Paste" nicht. Um Zeichen aus einer eingescannten Datei zu extrahieren, braucht man ein weiteres Programm sogenannten OCR (optical character recognition). 



Texterkennungsprogramme z.B.


GOCR, tesseract-ocr, ocropus, cuneiform-Linux, Ocrad, suw... Eine ausführliche Beschreibung liefert Texterkennung


2015/05/21

Fehlermeldung "Error during device I/O" beim gscan2pdf unter Ubuntu 12.04

Gscan2pdf unter Ubuntu 12.04 lässt sich nicht mehr scannen.



Eines Tages erschien die Fehlermeldung "Error opening device: Error during device I/O" bei der Scannererkennung mit gscan2pdf und danach erkennt PC mit gscan2pdf keinen Drucker/Scanner mehr und erscheint immer diese Meldung.
 


Wann tritt das Problem auf?


Wer entweder einen Drucker oder einen Scanner hat, tritt das Problem nicht auf.
Es tritt auf, wenn man
  - mehrere Drucker/Scanner zur Verfügung stellt,
  - den default Drucker/Scanner nicht angeschlossen (oder nicht eingeschaltet) hat und
  - von gscan2pdf ihn aufruft, um einzuscannen.


Wie kann man das Problem lösen?


Das ist ein Bug des gscan2pdf 0.9.32 und der Bug wurde schon fixiert. Aber der gscan2pdf 0.9.32 ist die neueste Version unter Ubuntu 12.04. (Siehe auch Bug report)
Dafür gibt es mehrere Lösungen;
Lösung 1 : Aktualisiere das BS von Unbuntu 12.04 auf 14.04.
Unter Ubuntu 14.04 liegt gscan2pdf in Version 1.2.4 in den offiziellen Paketquellen von Ubuntu vor. (Siehe Upgrade auf Trusty)
 
Lösung 2 : Aktualisiere den gscan2pdf von 0.9.32 auf neueste.
Wer noch Ubuntu 12.04 weiter benutzt, unter dem gscan2pdf in Version 0.9.32 in den offiziellen Quellen vorliegt, kann gscan2pdf von 0.9.32 auf die neueste Version aus einem PPA aktualisieren. (Siehe Aus einem PPA)
 
Lösung 3 : modifiziere die versteckten Datei .gscan2pdf.
Wenn man noch Ubuntu 12.04 mit gscan2pdf 0.9.32 weiter benutzen möchte, kann man die versteckten Datei .gscan2pdf ändern, um das Problem zu lösen;

    1. schließe gscan2pdf.
    2. aktiviere die Anzeige von versteckten Dateien in den persönlichen Ordner.
        (Siehe versteckte Dateien)
    3. Öffne die versteckten Datei .gscan2pdf.
    4. Lösche den eingetragene Wert von device.
        Ähnlich wie;
            device = hpaio:/net/Deskjet_3520_series?ip=192.168.xxx.xxx
            --->
            device =
    5. Speichere .gscan2pdf.
 
Lösung 4 : lösche die versteckten Datei .gscan2pdf.
Wenn man noch Ubuntu 12.04 mit gscan2pdf 0.9.32 weiter benutzen möchte, und auf persönliche Einstellungen verzichten kann, ist diese Lösung einfacher als andere.

    1. schließe gscan2pdf.
    2. aktiviere die Anzeige von versteckten Dateien in den persönlichen Ordner.
        (Siehe versteckte Dateien)
    3. Lösche die versteckten Datei .gscan2pdf in den persönlichen Ordner.

2015/05/17

Ubuntu  gscan2pdf で Error opening device: Error during device I/O 解決方法 その4

前回、gscan2pdf で Error opening device: Error during device I/O というエラーメッセージが出たときの解決について3通りの方法を書いた。

要約すると,
gscan2pdf 0.9.32 を使ってUSB接続のスキャナー機能付き All in One プリンターからスキャンした後,誤ってこのプリンターのUSBケーブルを接続していない状態でスキャンしようとすると下記のエラーメッセージが出る。

その後、接続してスキャンしようとしてもこのメッセージは消えず,スキャンできない。
解決方法は
その1 Ubuntu 12.04 を 14.04 にアップグレードする
その2 gscan2pdf 0.9.32 を最新ヴァージョンにアップグレードする。
その3 .gscan2pdf を編集する。

今回は4番目の解決としてもっとも簡単な方法を紹介する。ただし、この方法では設定が全てデフォルトに戻ってしまうので,個人の設定を残しておきたい場合は "その3" の方法がいいだろう。 


解決方法


その4 .gscan2pdf を削除する。

4-1. gscan2pdf を終了させる。(これをしないと4-2. で行う変更が反映されない。)
4-2. .gscan2pdf を削除する。
       方法1 - Launcher のホームフォルダをクリック。
         - "表示" -> "隠しファイルを表示する" とクリックする。(参照:前回
         - .gscan2pdf を選択し,削除する。
       方法2  端末を起動させて以下のコマンドを入力する。

 rm .gscan2pdf

2015/05/16

Ubuntu  gscan2pdf で Error opening device: Error during device I/O

gscan2pdf を使ってUSB接続のプリンター (スキャナー機能付き All in One プリンター) からスキャンした後,誤ってプリンターのUSBケーブルを接続していない状態でスキャンしようとすると下記のエラーメッセージが出る。


その後,ケーブルをつないでスキャンしようとしても上記のエラーメッセージが出てスキャンできない。また、一度 gscan2pdf を閉じて再起動した後でもこのメッセージが出てスキャンできない。

動作環境

    OS Ubuntu 12.04
    ソフトウェア gscan2pdf 0.9.32
    プリンター HP PSC 1400 Series (USB接続)
     HP Deskjet 3520 Series (無線LAN接続)

原因

これは gscan2pdf 0.9.32 のバグで,使用可能なスキャナー(またはスキャナー機能付きプリンター)が2台以上ある場合に起こりうる。gscan2pdf 0.9.32 は最初に選択したスキャナーを .gscan2pdf にデフォルトのスキャナーとして登録し,別途 "device" にもこのスキャナーを登録する。この双方の登録情報は一致していなければならない。ところが、次回以降デフォルトに設定したスキャナーが見つからないと、使用可能なスキャナーを "device" に登録する。この時デフォルトのスキャナーは変更されない。従って,双方の情報が一致しないために入出力エラーとなって gscan2pdf 0.9.32 からスキャナーを使用出来なくなる。尚,このバグは 0.9.32 以降のバージョンでは修正されている。

解決方法

その1 Ubuntu 12.04 を 14.04 にアップグレードする。

"ソフトウェアの更新" を起動させて最新の状態にアップデート後,”アップグレード” をクリックする。

その2 gscan2pdf 0.9.32 を最新のバージョンにアップグレードする。

端末を起動させて,以下のコマンドを1行ずつ実行する。(1行入力して ”エンターキー" を押す。)

sudo add-apt-repository ppa:jeffreyratcliffe/ppa
sudo apt-get update
sudo apt-get install gscan2pdf

元のバージョンに戻すには

sudo apt-get install ppa-purge
sudo ppa-purge ppa:jeffreyratcliffe/ppa

その3 .gscan2pdf を編集する。

3-1. gscan2pdf を終了させる。(これをしないと3-2. で行う変更が反映されない。) 
3-2. .gscan2pdf を開く。
       方法1 .gscan2pdf はホームフォルダー内にある隠しファイルなので、デフォルトの状態で
           は表示されない。これを表示させるには Launcher のホームフォルダをクリックし、


           "表示" -> "隠しファイルを表示する" とクリックする。


       方法2 端末を起動させて以下のコマンドを入力する。

gedit .gscan2pdf

3-3. 開いたファイルの下の方の "device" で始まる行の値を空欄にする。


…
version = 0.9.32
device = hpaio:/net/Deskjet_3520_series?ip=192.168.xxx.xxx  (x は数字)
unsharp threshold = 0.05
…


…
version = 0.9.32
device =
unsharp threshold = 0.05
…

3-4. 修正したらファイルを保存して閉じる。 


備考

解決方法 "その1" を実行すれば,gscan2pdf もアップグレードされるので、バグは修正されることになる。"その2" の方法でも gscan2pdf はアップグレードされるので、バグは修正されるはずだ。しかし、私の環境ではアップグレードされた gscan2pdf は起動しなかった。ただ、なぜ起動しないのかは調べていない。現在は "その3" の方法でバグを回避している。

 

 参考

1. gscan2pdf cannot be started again after it crashed
2. 第337回 12.04から14.04へアップグレードする際に気をつけるべきこと
3. How To Install Gscan2PDF 1.2.4 On All The Supported Ubuntu, Linux Mint, Elementary OS And Their Derivative Systems

2015/05/06

Ubuntu  rename を使ったファイル名の一括変換 2


前回 rename を使ったファイル名の一括変換の例を書いた。その時にいくつかの renameコマンドについて書かれたHPを参考にさせていただいたが,変換規則で利用するperl言語の正規表現まで踏み込んで書かれたHPは見つけられなかった。そこで renameコマンドについてと、renameコマンドでよく使われるであろうperl言語の正規表現についてを含めてまとめておいた。ただし、ファイル名の変換規則ではperl言語を利用できるが,ここではperl言語の文法については今回は触れていない。perl言語を使用した例は前回書いてあるので,そちらを参考にしていただきたい。

 

書式: rename [ -option ] 'perlexpr' [ files ] 

 

option 


   option は指定しなくてもよい。指定する場合には以下の3通りがある。

    -v リネームしたファイル名を表示する。
    -n リネーム後の名前を表示のみする。
    -f リネームを実行し,ファイル名が重複する場合には元からあるファイルを上書きする。

files


   files は指定しなくてもよい。
   指定する場合には変換したいファイル名を書くファイル名にはワイルドカードが使える
   例えば
    *.txt フォルダ内のすべてのファイル
    file.* フォルダ内で同じファイル名で拡張子がことなるファイル。。
    *.* フォルダ内のすべてのファイル。(単に * だけでもよい。)

   ファイル名を指定しない場合には標準入力 (キーボード) からの入力待ちになる。
   この場合,ファイル名にワイルドカードは使えない
   入力は renameコマンドを入力した後,(ここで入力待ちになる。)

   1. 変換したいファイル名が一つの場合
      1-1  ファイル名を入力して、
      1-2  エンターキー「⏎」をおす。
      1-3  「ctrl」と「D」を同時におす。

   2. 変換したいファイルが複数ある場合
      2-1  ファイル名を入力して、
      2-2  エンターキー「⏎」をおす。
      2-3  2-1, 2-1 をファイルの数だけ繰り返す。
      2-4  「ctrl」と「D」を同時におす。

perlexpr

   Perlexpr の書式  (変換の仕方を perl言語の正規表現に従って記す。)

   (s|y)/expr1/[expr2]/[Modifier]

   (s|y)
     s か y のどちらか一方を指定しなければならない。単語や数字などの
       文字を変換したい場合には y 例:ここの 1-5
       文字を変換したい場合には s 例:ここの 1-1, 1-2
     を指定する。

   expr1
     変換したい単語や数字などの文字列,または文字を指定する。

   expr2
     変換後に示されるべき単語や数字などの文字列,または文字を指定する。
     expr2 は指定しなくてもよい。指定しない時は expr1 の内容を削除する。(例:ここの 2-1)

   Modifier
     Modifier は指定しなくてもよい。Modifier には以下の3通りがある。
       e perl言語を使用する 例:ここの 1-4, 4-1
       g expr1 で指定した内容を繰り返し変換する 例:ここの 1-3, 1-4
       i 大文字、小文字の区別をしない

   expr1, expr2 で使用できる表現 (正規表現) 

     文字
       - メタ文字; \, ^, ., $, |, (, ), [, ], ?, *, + 
           後述の選択子、量化子、グループ化で使用する特別な文字

      - アルファベット数字記号それらを組み合わせた文字列
          ただし、メタ文字を記号として使用する場合には
             \\, \^, \., \$, \|, \(, \), \[, \], \?, \*, \+
          と記す。
      文字の例:ここの 1-1, 1-2, 3-2

     選択子 (selector)
      - [ ] の中の1文字
            例 [aD3] a または D または 3
[a-h] a から h までの1文字
[0-5] 0 から 5 までの数字
[^c-j] c から j まで以外の1文字
      - \d 0から9までの任意の数字
      - \w アルファベット1文字、 0から9までの任意の数字、またはアンダーバー "_"
      - . アルファベット1文字、 0から9までの任意の数字、または空白以外の記号一つ。
      - ^ ファイル名の先頭
      - $ ファイル名の最後
       選択子の例:ここの 1-1, 3-1

     量化子(quantifier)
      - {m,n} m文字以上n文字以下
      - {m,} m文字以上
      - {,n} n文字以下
      - {n} n文字
      - ? 1文字または0文字 ({0,1} と同じ意味)
      - * 0文字以上 ({0,} と同じ意味)
      - + 1文字以上 ({1,} と同じ意味)
      量化子の例 \w{5} 5文字以下の文字列

\d{3} 3桁の数字

\d{+} 1桁以上の数字
                          ここの 1-4, 3-3, 4-1, 5-1

     グループ化(Grouping)
      - ( ) グループ化記号 expr1 の中の文字列を一つのかたまりとみなす記号。
      - | 選択記号 文字列を選択する記号
              例 (desktop | laptop) desktop または laptop
(desktop | laptop | tabletPC) desktop または laptop または tabletPC
      - $n expr2でexpr1 の中のn番目のグループを指定する記号

       グループ化の例:ここの 3-3, 5-1


 参考

1. rename command
2. Bulk renaming files in Ubuntu
3. rename
4. Linux and Unix rename command
5. Perl 正規表現のクイックスタート
6. Perl 正規表現
7. 標準入出力

2015/04/28

Ubuntu  remane を使ったファイル名の一括変換 1

写真などを整理するときに大量に名前を書き換えたい場合がある。そんな時には Ubuntu ならスクリプトを書けば一括変換できる。しかし、Linux には rename というコマンドがあり,簡単にファイル名を一括変換できる。(参照:1,2,3)


ここではホームフォルダ内のフォルダ "work" の中に以下の4つのファイルがあるとして,renameコマンドの例を示す。

"42. Protokoll_01_07.pdf"
"43. Protokoll 2 September 2014.pdf"
"44. Protokoll 09 09.pdf"
"45. Protokoll FSMa 16 September.pdf"

0. 元のファイル名

まず、ターミナルを立ち上げる。
次にコマンド cd workで workフォルダ内に移動する。
ここで コマンド ls を入力すると,フォルダ内にどんなファイルがあるか確認出来る。

xxx@yyyy:~$ cd work
xxx@yyyy:~/work$ ls
42. Protokoll_01_07.pdf
43. Protokoll 2 September 2014.pdf
44. Protokoll 09 09.pdf
45. Protokoll FSMa 16 September.pdf
xxx@yyyy:~/work$ 


1-1. 置換  文字 "September" を数字 "9" に変換する


$ sudo rename 's/September/9/' *.pdf

ここで、*.pdf はフォルダ内のすべての PDFファイルという意味。
's/September/9/' で "September" を "9" に置換するという意味。

置換後

42. Protokoll_01_07.pdf
43. Protokoll 2 9 2014.pdf
44. Protokoll 09 09.pdf
45. Protokoll FSMa 16 9.pdf


1-2. 置換  最初の空白をアンダーバー "_" に変換する


$ sudo rename 's/ /_/' *.pdf


空白はそのまま空白にしておけばいい。空白には \s と入力するらしいが、空白でも大丈夫。

置換後

42._Protokoll_01_07.pdf
43._Protokoll 2 9 2014.pdf
44._Protokoll 09 09.pdf
45._Protokoll FSMa 16 9.pdf


1-3. 置換  すべての空白をアンダーバー "_" に変換する。


$ sudo rename 's/ /_/g' *.pdf


上のコマンドとほぼ同じだが,最後に g が入る。これですべての空白が "_" に置換される。

置換後

42._Protokoll_01_07.pdf
43._Protokoll_2_9_2014.pdf
44._Protokoll_09_09.pdf
45._Protokoll_FSMa_16_9.pdf


1-4. 置換  1桁の数字を0をつけて2桁の数字に変換する。(例 2 -> 02)


$ sudo rename 's/\d+/sprintf("%02d", $&)/eg' *.pdf


ここで、\d+ で数字を取得し,その数時が1桁なら sprintf("%02d", $&) を使って十の位に "0" を補う。sprintf("%02d", $&) は文字や数字を返す perl の関数。$& には \d+ で取得した数字が入る。(参照:6)
また、perl の関数 (コマンド) を利用する時には最後に e が入る。(参照:4,5)

置換後

42._Protokoll_01_07.pdf
43._Protokoll_02_09_2014.pdf
44._Protokoll_09_09.pdf
45._Protokoll_FSMa_16_09.pdf


1-5. 置換 大文字を小文字に置換する


$ sudo rename 'y/A-Z/a-z/' *.pdf


文字を置換するときには 'y/before/after/' とする。

置換後

42._protokoll_01_07.pdf
43._protokoll_02_09_2014.pdf
44._protokoll_09_09.pdf
45._protokoll_fsma_16_09.pdf


2-1. 削除  最初のドット "." を削除する。


$ sudo rename 's/.//' *.pdf


単に削除する時には何も書かず,空欄も入れない。

削除後

42_protokoll_01_07.pdf
43_protokoll_02_09_2014.pdf
44_protokoll_09_09.pdf
45_protokoll_fsma_16_09.pdf


3-1. 補完  先頭に文字や数字を補完する


$ sudo rename 's/^/0/' *.pdf


^ でファイル名の先頭を指定している。

補完後

042_protokoll_01_07.pdf
043_protokoll_02_09_2014.pdf
044_protokoll_09_09.pdf
045_protokoll_fsma_16_09.pdf


3-2. 補完  最後(拡張子の前)に文字や数字を補完する


$ sudo rename 's/.pdf/_tokyo.pdf/' *.pdf


拡張子がない場合には 's/$/補完する文字列/' とすればよい。

補完後

042_protokoll_01_07_tokyo.pdf
043_protokoll_02_09_2014_tokyo.pdf
044_protokoll_09_09_tokyo.pdf
045_protokoll_fsma_16_09_tokyo.pdf


3-3. 補完  中間(月とtokyoの間)に数字(年号)を補完する


$ sudo rename 's/(_\d{2})(_tokyo)/$1_2014$2/' *.pdf

文字列をカッコでくくると一つのグループとみなされ,$1 には1番目の、$2 には2番目のグループが対応する。

補完後

042_protokoll_01_07_2014_tokyo.pdf
043_protokoll_02_09_2014_tokyo.pdf
044_protokoll_09_09_2014_tokyo.pdf
045_protokoll_fsma_16_09_2014_tokyo.pdf


4-1. 連番  先頭の3桁の数字を 01 から始まる2桁の連番にする。


$ sudo rename 's/\d{3}/our $i; sprintf("%02d", 1+$i++)/e' *.pdf

our $i; で連番に使う変数を定義し、1+$i++ で 1,2,3, ... となるように指定している。
そして、関数 sprintf で連番が 01, 02, 03, ... となるように指定している。(参照:6,7)

変更後

01_protokoll_01_07_2014_tokyo.pdf
02_protokoll_02_09_2014_tokyo.pdf
03_protokoll_09_09_2014_tokyo.pdf
04_protokoll_fsma_16_09_2014_tokyo.pdf


5-1. 入れ替え  日付が _日_月_年_ となっているので、_日_月_年_ と並べ替える。


$ sudo rename 's/(_\d{2})(_\d{2})(_\d{4})/$3$2$1/' *.pdf 

3-3. の応用例、$1=(_\d{2})、$2=(_\d{2})、$3=(_\d{4}) となっている。

変更後

01_protokoll_2014_07_01_tokyo.pdf
02_protokoll_2014_09_02_tokyo.pdf
03_protokoll_2014_09_09_tokyo.pdf
04_protokoll_fsma_2014_09_16_tokyo.pdf


参照

1. rename command
2. Bulk renaming files in Ubuntu
3. rename
4. Perl 正規表現のクイックスタート (評価修飾子について)
5. Reguläre Ausdrücke (Modifeier について)
6. 関数 sprintf について
7. our $i; について

2015/04/18

EeePC 901  BIOS のアップデート

 

アップデートのポイント


EeePC 901 の BIOSアップデートは基本的には簡単だ。ただ、いくつかのポイントがある。

BIOS のダウンロード
EeePC 901 の BIOS をアップデートを解説するホームページは多い。しかし、BIOS のダウンロードのリンク先が切れている。(2015.04.18 現在)現在のダウンロード元は

Driver & Tools, Eee PC 901/Linux, Eee PC, 901 Series.

ファイルをリネームする
ダウンロードして解凍したファイルを [Modelname].ROM とリネームする。例えば EssPC 701SD なら 701SD.ROM、EeePC 901 なら 901.ROM とする。

USBスティックのフォーマットとパーテーションサイズ
BIOS のアップデートにSDカードを使う方法もあるが、USBスティックを使ったほうが簡単。(参照:4) その際

 - ファイル形式ははFAT16
 - パーテーションサイズは100MB前後

で、フォーマットする。USBスティックはファイル形式が FAT32 か、NTFS でフォーマットでされていることが多い。これを FAT16 に変換する。そしてパーテーションサイズを 100MB 前後に設定する。私の場合は 4GB の USBスティックを使って全体を FAT16 にフォーマットしら、

 Reading file "901.rom" _

で止まった。(アップデートは始まっていない。)また、パーテーションサイズを 16~20MB に設定してフォーマットした場合も同様だった。
パーテーションサイズを 100MB にしたら、

 Reading file "901.rom" _

で、一時止まった後,ピープ音がしてアップデートが始まった。

アップデートは中断してはならない。
PCの電源が入れられた後、OS を起動させるのが BIOS の役目だ。だからアップデートを途中で中断すると,OSを起動できなくなり、使用不能になってしまう。(参照:5)

 

アップデート



 1. 最新の BIOS をここからダウンロードする。
 2. ダウンロードしたファイル(ZIP形式)を解凍する。(参照:5)
 3. 解凍したファイル 901-ASUS-2103.ROM を 901.ROM とリネームする。
 4. USBスティックをファイル形式 FAT16, パーテーションサイズを 100MB でフォーマット
  する。(参照:7)  
 5. 901.ROM をフォーマットしたUSBスティックにコピーする。
 6. コピーしたUSBスティックを EeePC 901 に差して電源を入れる。
 7. BIOS が起動したら(ASUS のロゴが出てきたら)すぐに「alt」と「F2」を同時に押す。
 8. すると以下のような画面が出てくる。(出てこないときは電源を切って 6 からやり直す。)


 9. その後ピープ音がして画面 "Completed" と出てくればアップデートが始まる。


 10. 画面に
    The BIOS Update ist finnished.
    Please press power butten to shut down the system.
   と,出てくれば終了。シャットダウンして再起動する。


 12. 再起動すると以下のような画面が出てくるので、「F1」を押す。


 13. 以下のような画面が出て来たら「F10」を押して OS を立ち上げる。



参考


1. Upgrading the BIOS (Firmware) of your Eee
2. ASUS eeePC BIOS-Update unter Linux und Windows
3. Neue BIOS-Updates verfügbar
4. ASUS EeePC
5. Ubuntu  File Roller - ファイルの圧縮、解凍
6. BIOS について
7. HDDをフォーマットする