我的ubuntu是用wubi安裝的,今天準備搞android的ndk,所以把開發環境給配置了一下,jdk、android的sdk、ndk,還有eclipse,以及三百多個更新,全部安裝好了,然後重新啓動。結果發現,進不去鳥!!停在了grub引導符下。
不過請教了google大神之後,解決了問題。
最麻煩的一種方法,是敲命令,一大堆的命令。就在grub的引導符下,敲如下的一段命令:
#這裏的hd0,是指第一塊硬盤,後面的3是指第三個分區,根據需要改成自己的 ls (hd0,3) insmode ntfs set root=(hd0, 3) #這裏得到的是當前分區的uuid,會在後面用到 ls $Boot #這裏的[uuid]就是上面一句得到的uuid search --no-floppy --fs-uuid --set [uuid] loopback loop0 /ubuntu/disks/root.disk set root=(loop0) linux /boot/vmlinuz(然後按tab自動補全) root=/dev/sda3 loop=/ubuntu/disks/root.disk ro quiet splash initrd /boot/initrd.img(然後按tab自動補全) boot
另外一種方法,進入windows,在wubi的安裝目錄的install目錄下,找找看有沒有boot目錄,沒有的話,就新建一個,然後在boot裏面新建一個grub目錄,然後在裏面創建一個grub.cfg文件,裏面的內容如下:
if [ -s /boot/grub/grubenv ]; then have_grubenv=true load_env fi set default="0" if [ ${prev_saved_entry} ]; then saved_entry=${prev_saved_entry} save_env saved_entry prev_saved_entry= save_env prev_saved_entry fi if [ ${recordfail} = 1 ]; then set timeout=-1 else set timeout=10 fi ### END /etc/grub.d/00_header ### ### BEGIN /etc/grub.d/05_debian_theme ### set menu_color_normal=white/black set menu_color_highlight=black/white ### END /etc/grub.d/05_debian_theme ### ### BEGIN /etc/grub.d/10_lupin ### #這裏是最主要的# menuentry "Ubuntu, Linux 2.6.31-16-generic" { insmod ntfs set root=(hd0,5) search --no-floppy --fs-uuid --set 32e4a94be4a911e1 loopback loop0 /ubuntu/disks/root.disk set root=(loop0) linux /boot/vmlinuz-2.6.31-16-generic root=/dev/sda5 loop=/ubuntu/disks/root.disk ro quiet splash initrd /boot/initrd.img-2.6.31-16-generic }
保存,重啓進入ubuntu,標題會閃爍,下面有提示,按照提示,按e是編輯,按ctrl+c是進入命令提示符,按ctrl+e是執行。按下e,進行編輯,編輯的地方是上面的最後一段。主要是編輯分區的位置和uuid。這個時候可以按ctrl+c進入命令行,獲取到這些內容,然後記下來,按esc返回此處,編輯好之後,ctrl+e執行,如果無誤,則會正常進入系統。
還有一個很關鍵的問題,怎麼知道安裝wubi的盤的uuid是多少? 有一個方法,打開cmd,進入到安裝wubi的盤符,比如d盤,然後輸入dir,查看這個盤符的標籤,把最後幾個數字記下來,然後進入linux,輸入ls (hd0, 然後按tab鍵,出現很多uuid,看哪個的uuid最後幾位符合你剛纔記下的字符串,那它就是目標分區。