作者 主題: 請教Ubuntu10.04 32位與64位系統共存的启动问题  (閱讀 4353 次)

0 會員 與 1 訪客 正在閱讀本文。

van416

  • 懷疑的國中生
  • **
  • 文章數: 48
    • 檢視個人資料
各位下午好:


今在Ubuntu10.04 64位與XP與DOS系統上通過Wubi安裝Ubuntu10.04 32位系統,按裝完成后啟動系統依舊為64位的系統,無法進入到32位的系統,我要怎麼修改才可以指定想進入32位或者64位?
感謝
環境:C盤: DOS系統 D盤:winxp系統 E盤:想裝ubuntu10.04 32位系統 F盤:Ubuntu10.04 64位系統


DOS下boot.ini為:
代碼: [選擇]
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
c:\="dos"
C:\wubildr.mbr = "Ubuntu"

van416

  • 懷疑的國中生
  • **
  • 文章數: 48
    • 檢視個人資料
再想问一下:wublidr.mbr是指定/boot/grub/grub.cfg    但32位與64位這兩個文件都一樣,我要怎么改才可以讓其指定到32位系統,或者64位系統  感謝

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
用grub4dos的grldr直接掛在boot.ini下。

18個os也照選。
lifeIsFunWithPHP.

van416

  • 懷疑的國中生
  • **
  • 文章數: 48
    • 檢視個人資料
前輩: 能詳細點嗎?感謝~

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
1. get:
http://download.gna.org/grub4dos/grub4dos-0.4.4.zip

2. 抽出 grldr ,放在 ntldr 同磁區,編輯 boot.ini ,加入

c:\grldr="GRUB4DOS"

3. 同磁區加入 menu.lst 選單索引:

ex:

代碼: [選擇]
color white/blue white/magenta
timeout 30
default 0

title xPUD cook (lucid hdd)
 root  (hd0,0)
 kernel /dos/xpud/lucid/bzImage noisapnp quiet screen=1280x1024 home=/dev/sda1 lang=zh kmap=us vga=771
 initrd /dos/xpud/lucid/lucid-basic.gz

title Android 2.2
 kernel /dos/android/kernel root=/dev/ram0 androidboot_hardware=generic_x86 acpi_sleep=s3_bios,s3_mode video=-16 quiet SRC=/dos/android
 initrd /dos/android/initrd.img

title SliTaz GNU/Linux 3.0
 kernel /dos/slitaz/bzImage root=/dev/null vga=normal
 initrd /dos/slitaz/rootfs.gz

title winPE
chainloader /RWIN.LDR
lifeIsFunWithPHP.

van416

  • 懷疑的國中生
  • **
  • 文章數: 48
    • 檢視個人資料
hikohan 博士:

   我用的系統是:用wubi.exe安裝的Ubuntu10.04 32位與64位   其中Ubuntu10.04 32位與64位的啟動為:wubildr.mbr 與wubildr  這兩個文件在32位與64位是一樣的 ,將這兩個文件放入C:\下之后,他會自動進入64位,不能進入32位,我只有進入winxp后將F盤的ubuntu改名后ubuntu.bak才可以進入到32位~
備注: C盤:DOS , D盤:winxp E盤:Ubuntu10.04 32位  F盤:Ubuntu10.04 64位

我想達到的目的為在BOOT.INI里面可以指定選擇32位或者64位,是否可以實現如下的選擇呢? 需要修改什么呢?

[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
c:\="dos"
C:\wubildr3.mbr = "Ubuntu32"
C:\wubildr6.mbr = "Ubuntu64"

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
wubi 喔~ 沒玩過。

還是走grub的loader吧。

例如 hda6 -> ubuntu32
/boot/

title uBun32
 root (hd0,5)
 kernel /boot/vmlinuz-aaa ro root=/dev/sda6......
 initrd /boot/initrd-aaa

title uBun64
 root (hd0,6)
 kernel /boot/vmlinuz-bbb ro root=/dev/sda7......
 initrd /boot/initrd-bbb
lifeIsFunWithPHP.

van416

  • 懷疑的國中生
  • **
  • 文章數: 48
    • 檢視個人資料
現在我已經走grub的loader路線了~但依舊遇到問題

我想要四個系統環境 ,分別為:DOS+XP+Ubuntu10.04 32位+Ubuntu10.04 64位

C:盤為DOS(/dev/sda0),D:盤為:WINXP(/dev/sda1) ,Ubuntu10.04 32位分為兩個:/為 (/dev/sda3) swap 為(/dev/sda4) ,Ubuntu10.04 64位為 :/ 為 (/dev/sda5) swap 為(/dev/sda6)
 
首先裝DOS與XP,裝好之后,啟動文件如下:
引導為boot.ini 如下:
代碼: [選擇]
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
c:\="dos"

當我裝完Ubuntu 10.04 32位后

進入時發現其引導的類型為:GRUB2  選擇出現了四個選項,grub.cfg部份如下:
代碼: [選擇]
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,3)'
search --no-floppy --fs-uuid --set 816871d7-20cc-47ac-943e-dee6d69f10a2
linux /boot/vmlinuz-2.6.32-21-generic root=UUID=816871d7-20cc-47ac-943e-dee6d69f10a2 ro mem=512M  quiet splash mem=512M
initrd /boot/initrd.img-2.6.32-21-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-21-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,3)'
search --no-floppy --fs-uuid --set 816871d7-20cc-47ac-943e-dee6d69f10a2
echo 'Loading Linux 2.6.32-21-generic ...'
linux /boot/vmlinuz-2.6.32-21-generic root=UUID=816871d7-20cc-47ac-943e-dee6d69f10a2 ro single mem=512M
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.32-21-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod ext2
set root='(hd0,3)'
search --no-floppy --fs-uuid --set 816871d7-20cc-47ac-943e-dee6d69f10a2
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod ext2
set root='(hd0,3)'
search --no-floppy --fs-uuid --set 816871d7-20cc-47ac-943e-dee6d69f10a2
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows NT/2000/XP (on /dev/sda1)" {
insmod fat
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 2d70-1709
drivemap -s (hd0) ${root}
chainloader +1
}


我選擇最后一個 Windows NT/2000/XP (on /dev/sda1) 后出現 進入DOS與WINXP的boot.ini選擇按鈕~

而這不是我想要的結果,我想要的是先進入 boot.ini,再進入Grub4DOS再進入GRUB2

于是我下載了一個Grub4dos將 c:\grldr=Ubuntu 10.04加入到 Boot.ini,  

但是我不知道怎麼將Grub4dos寫到MBR中? 所以啟動后依舊是Grub2=>Boot.ini=>Grub4dos=>Grub2進入Ubuntu

1.是否可以直接直接 Boot.ini=>Grub4dos=>Grub2進入Ubuntu 呢?  
2.為什么裝完Ubuntu之后,XP系統進不去,出現\system32\hal.dll呢? 該如何解決呢?

還請幫忙


« 上次編輯: 2011-03-26 16:49 由 van416 »

van416

  • 懷疑的國中生
  • **
  • 文章數: 48
    • 檢視個人資料
第二個問題:2.為什么裝完Ubuntu之后,XP系統進不去,出現\system32\hal.dll呢? 該如何解決呢?
已經搞定了為 :multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect 問題

原因為裝了ubuntu之后,將分區改過了。改成  multi(0)disk(0)rdisk(0)partition(4)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect  之后可以正常進XP系統的

第一個問題還請高手幫忙解決~

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
幫你頂一下。

你對boot.ini的磁區代號與 grub 裡面的磁區代號,好像不太清楚。

menu.lst 裡面的

pri
-> sda1..2..3..4

ext
->sda5..6..7..8....

當os在ext的sda5,應該是 hd (0,4)

grub2比grub多出許多應用,不過,grub的基本好用,才延伸出grub2,個人是建議nrldr->grub->Linux OSs

你要用
ntldr -> grub2 -> OSs也可以。
lifeIsFunWithPHP.