Ubuntu 9.04 ext4 災情外加解決報告...囧">

前幾天非常高興的把我的1T硬碟的的所有Partition的Partition的Ext3轉換成轉換成Ext4,當然我覺得我真的做的太大膽了,轉完之後在做大量檔案搬移的時候,災難已經開始發生了....囧rz,因為之前在google時是有看到有人因為ext4而造成Loss DATA的狀況,但是我在想說但是我在想說Ubuntuu已經開始推了,應該是沒問題才對,於是就很放心的把我1T上的所有partitionn全部轉了過去,但是今天才是慘劇的開始,原因事因為我正在因為某些原因需要騰出大量的Freespace,所以說很直覺得將我的檔案搬過去,但是每搬到一段時間後,Ubuntu娘就整個失神了,我當初只是想說應該只是小問題吧,直到的第三次,第四次...<囧>,我就不甘心的打開Epiphany來google "ext4 wiki"(不要在提Firefox了),真的是讓我囧了一下下

Caveats Delayed allocation and potential data loss Delayed allocation poses some additional risk of data loss in cases where the system crashes before all of the data has been written to the disk. The typical scenario in which this might occur is a program replacing the contents of a file without forcing a write to the disk with fsync. Problems can arise if the system crashes before the actual write occurs. In this situation, users of ext3 have come to expect that the disk will hold either the old version or the new version of the file following the crash. However, the ext4 code in the Linux kernel version 2.6.28 will often clear the contents of the file before the crash, but never write the new version, thus losing the contents of the file entirely. Many people find such a behavior unacceptable. A significant issue is that fixing the bug by using fsync more often could lead to severe performance penalties on ext3 filesystems mounted with the data=ordered flag (the default on most Linux distributions). Given that both file-systems will be in use for some time, this complicates matters enormously for end-user application developers. In response, Theodore Ts'o has written some patches for ext4 that cause it to limit its delayed allocation in these common cases. For a small cost in performance, this will significantly increase the chance that either version of the file will survive the crash. The new patches are expected to become part of the mainline kernel 2.6.30. Various distributions may choose to backport them to 2.6.28 or 2.6.29, for instance Ubuntu made them part of the 2.6.28 kernel in version 9.04 -- Jaunty Jackalope. 以上摘自http://en.wikipedia.org/wiki/Ext4


  1. 基本上如果有裝任何的驅動程式請先移除,並將所有有關並將所有有關nvidia驅動程式都解除安裝,並先備份Xorg的設定
    $ sudo cp /etc/X11/xorg.conf $ sudo apt-get purge nvidia-
    Section "Screen" Identifier "Default Screen" DefaultDepth 24 EndSectionSection "Device" Identifier "Default Device" Driver "nv" EndSection
  2. 此時最好reboot一下,接著上http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30-rc3/將最新的kernell下載下來,i386請下載:
    linux-image-2.6.30-020630rc3-generic_2.6.30-020630rc3_i386.deb linux-headers-2.6.30-020630rc3_2.6.30-020630rc3_all.deb linux-headers-2.6.30-020630rc3-generic_2.6.30-020630rc3_i386.deb
    dpkg -i .deb
    64bit的應該不用我說吧,接著"按照順序"安裝起來,這就算是Kernel的更新完成 P.S. 記住:除非你很清楚你在幹啥 要不然不要輕易嘗試...XDDDDrz

NV的驅動可以上nVidia的官網下載.run安裝這應該google就多資訊了吧....這裡就懶的寫了 P.S. 目前的災情好像是幾張圖不見了 及一些小檔案 還好大檔案沒有缺失...但這只是初期判斷

Wed Apr. 29 2009