在 Toshiba LX/190DK 筆記本上,從 Ubuntu Edgy 升級到 Feisty

我使用的筆記本是Toshiba Dynabook SS LX/190DK(對應的海外型號爲 Portege S100),電腦上安裝了兩個操作系統,一個 Ubuntu Linux 6.10 和一個原裝的 Windows XP。自從用上 Ubuntu 6.06 以來,Ubuntu 的表現一直都很不錯。後來通過重新安裝的方式,升級到 6.10 版本,更是令人滿意。

但是幾年4月份推出的新版本,卻導致一些用戶發現自己的電腦安裝了 7.04 之後,Ubuntu 系統就不能啓動了,報告該問題的用戶中相當多數使用的是東芝的筆記本。這其實是個和硬盤控制器相關的老問題,在 6.06 和 6.10 中已經得到解決,但是不知道由於什麼緣故,導致這個 bug 的代碼又恢復成以前的樣子。

導致該問題的原因是兩個 kernel module 加載的順序。在 7.04 中,kernel 首先加載 ata_piix 模塊,然後加載 ahci 模塊,但是對於我使用的這個型號的筆記本,要求首先加載 ahci 模塊,然後再加載 ata_piix 模塊。在 Ubuntu Forums 上,已經有牛人提供了如何在 Toshiba S100 筆記本上安裝 Ubuntu 7.04 的方法。我借鑑過來,稍事修改步驟,即可用於從 6.10 升級到 7.04。詳細步驟如下:
  1. 運行 Update Manager,開始升級工作。或者從 Ubuntu CD 上升級,因爲網絡升級實在太慢,我花了大概6個小時才下載完所有的 package。不過如果是從 CD 上升級的話,其中很多 package 不是最新版本的,還是需要花費不少時間用來執行 apt-get upgrade。
  2. 升級完成之後,千萬不要立即重啓!接下來要做的是:關閉升級成功的提示窗口。
  3. 編寫一個腳本文件,代碼如下:
    #!/bin/sh

    PREREQ
    =””

    prereqs
    () {
        
    echo “$PREREQ”
    }

    case 
    $1 in
        
    # get pre-requisites
        preregs
    )
        preregs
        
    exit 0
        
    ;;
    esac

    modprobe -r ata_piix
    modprobe ahci
    modprobe -r ahci
    modprobe ahci
    modprobe ata_piix

    # This is the end of the script
    將該腳本文件保存在 /etc/initramfs-tools/scripts/init-premount 目錄中,文件命名爲 ahci,使用 sudo  chomd +x 命令賦予其可執行權限。
  4. 然後打開一個終端窗口,切換到 /boot 目錄,執行 sudo update-initramfs -k 'all' -u 命令,更新所有 initrd.img 文件。也可以用 -k 參數具體地指定更新某個版本的 initrd.img 文件。
  5. 更新完成之後,重啓 Ubuntu。
  6. 如果安裝過 Nvidia 自己的顯卡驅動程序(例如 NVIDIA-Linux-x86-1.0-9755-pkg1.run)的話,X 啓動時會報告錯誤,只需要重新編譯安裝驅動程序即可。
我在完成升級,登錄進入 Ubuntu 7.04 系統之後,發現桌面上的 panel 都消失了,只有幾個圖標孤零零留在那兒。使用 Alt+F2 打開一個終端,試圖運行 gnome-panel,卻告知該程序已在運行。無奈,使用 Ctrl+Alt+Backspace 重啓 X,再次登錄,發現這時 panel 又顯示出來,但是在桌面上的幾個圖標卻不見了,在桌面上點擊右鍵也沒有響應。在 Ubuntu 中文論壇中看到有其他用戶建議重新安裝 gnome panel,於是執行 sudo apt-get install --reinstall gnome-panel,然後再次重啓 X。登錄進入系統之後,一切恢復正常。

Update@2007-09-10:
需要注意的是:在升級了內核之後,務必在重新啓動之前重複以上步驟。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章