banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix Gặp vấn đề liên tục với boot loader trong Fedora 7?  XML
  [Question]   Gặp vấn đề liên tục với boot loader trong Fedora 7? 26/06/2007 22:29:09 (+0700) | #1 | 67109
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Máy tớ cài 2 OS (Win2k3 và FC7), ban đầu partition table tớ để như sau:

/dev/sda1: FAT32(LBA) (Windows 2k3)
/dev/sda2: Extended
/dev/sda5: HPFS/NTFS
/dev/sda6: HPFS/NTFS
/dev/sda7: Linux (Fedora Core 7)
/dev/sda8: Linux (Free BSD) (Định sẽ cài thêm sau này)
/dev/sda9: Linux swap
 

Tớ cài boot loader lên first sector của /dev/sda7. Sau khi cài xong (không có vấn đề gì), reboot lại thì boot luôn vào Win2k3. Tớ nghĩ grub bị lỗi nên thử boot vào rescue mode để cài lại:
Code:
sh-3.00# chroot /mnt/sysimage
sh-3.00# grub-install /dev/sda7

Thì nhận được thông báo sau:

Installation finished. No error report.
This is the contend of the device map /boot/grub/device.map. Check if this is correct or not. If any of the lines is incorrect, fix it and return the script “grub-install”.
#This device map was generated by annacoda
(fd0) /dev/fd0
(sd0) /dev/sda

 

Sau đó tớ tạo thêm 1 partition /dev/sda3 (primary) và mount với /boot, rồi cài boot loader lên partition đó. Sau khi cài xong, lúc reboot thì lại gặp lỗi “GRUB can’t find the kernel” như sau:

[ Minimal BASH-like line editing is supported. For the first word, TAB lists the possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ]

grub> _

 

Tớ đã fix bằng:
Code:
root (hd0, 2)
setup (hd0)
reboot

Một điều lạ là: khi fdisk –l thì các partition được gán tên là sda, nhưng khi tớ thử đánh lệnh
Code:
root (sd0, 2)

Thì báo lỗi ngay

Sau khi fix xong lỗi đó, reboot lại thì tớ lại gặp lỗi về missing mount point

Uncompressing Linux... Ok, booting the kernel.
Red Hat nash version 6.0.9 starting
mkrrookdev: expected fs options
mount: missing mount point
setuproot: moving /dev failed: No such file or directory
setuproot: error mounting /proc: No such file or directory
setuproot: error mounting /sys: No such file or directory
switchroot: mount failed: No such file or directory
Kernel panic - not syncing: Attempted to kill init!

 

Tớ thử cat fstab trong /etc thì thấy nó không tồn tại.

Thêm nữa lúc này, nếu thử boot vào rescue mode sẽ gặp thông báo lỗi sau:

An error occurred trying to mount some or all of your system. Some of it may be mounted under /mnt/sysimage.

Press <return> to get to shell. The system will reboot automatically when you exit from the shell.

 

Mong anh em chỉ giáo cách fix từng lỗi một. Thanks
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Gặp vấn đề liên tục với boot loader trong FC7? 26/06/2007 23:00:01 (+0700) | #2 | 67119
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

quanta wrote:
Máy tớ cài 2 OS (Win2k3 và FC7), ban đầu partition table tớ để như sau:

/dev/sda1: FAT32(LBA) (Windows 2k3)
/dev/sda2: Extended
/dev/sda5: HPFS/NTFS
/dev/sda6: HPFS/NTFS
/dev/sda7: Linux (Fedora Core 7)
/dev/sda8: Linux (Free BSD) (Định sẽ cài thêm sau này)
/dev/sda9: Linux swap
 

Tớ cài boot loader lên first sector của /dev/sda7. Sau khi cài xong (không có vấn đề gì), reboot lại thì boot luôn vào Win2k3. Tớ nghĩ grub bị lỗi nên thử boot vào rescue mode để cài lại:
Code:
sh-3.00# chroot /mnt/sysimage
sh-3.00# grub-install /dev/sda7

Thì nhận được thông báo sau:

Installation finished. No error report.
This is the contend of the device map /boot/grub/device.map. Check if this is correct or not. If any of the lines is incorrect, fix it and return the script “grub-install”.
#This device map was generated by annacoda
(fd0) /dev/fd0
(sd0) /dev/sda

 

 

Tại sao lại cài boot loader lên first sector của /dev/sda7?

quanta wrote:

Sau đó tớ tạo thêm 1 partition /dev/sda3 (primary) và mount với /boot, rồi cài boot loader lên partition đó. Sau khi cài xong, lúc reboot thì lại gặp lỗi “GRUB can’t find the kernel” như sau:

[ Minimal BASH-like line editing is supported. For the first word, TAB lists the possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ]

grub> _

 

Tớ đã fix bằng:
Code:
root (hd0, 2)
setup (hd0)
reboot

Một điều lạ là: khi fdisk –l thì các partition được gán tên là sda, nhưng khi tớ thử đánh lệnh
Code:
root (sd0, 2)

Thì báo lỗi ngay

Sau khi fix xong lỗi đó, reboot lại thì tớ lại gặp lỗi về missing mount point

Uncompressing Linux... Ok, booting the kernel.
Red Hat nash version 6.0.9 starting
mkrrookdev: expected fs options
mount: missing mount point
setuproot: moving /dev failed: No such file or directory
setuproot: error mounting /proc: No such file or directory
setuproot: error mounting /sys: No such file or directory
switchroot: mount failed: No such file or directory
Kernel panic - not syncing: Attempted to kill init!

 

Tớ thử cat fstab trong /etc thì thấy nó không tồn tại.

Thêm nữa lúc này, nếu thử boot vào rescue mode sẽ gặp thông báo lỗi sau:

An error occurred trying to mount some or all of your system. Some of it may be mounted under /mnt/sysimage.

Press <return> to get to shell. The system will reboot automatically when you exit from the shell.

 

Mong anh em chỉ giáo cách fix từng lỗi một. Thanks
 

 
Trong cái /boot partition /dev/sda3 (primary) có cái gì trong đó?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Gặp vấn đề liên tục với boot loader trong FC7? 26/06/2007 23:32:14 (+0700) | #3 | 67131
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

conmale wrote:

quanta wrote:
Máy tớ cài 2 OS (Win2k3 và FC7), ban đầu partition table tớ để như sau:

/dev/sda1: FAT32(LBA) (Windows 2k3)
/dev/sda2: Extended
/dev/sda5: HPFS/NTFS
/dev/sda6: HPFS/NTFS
/dev/sda7: Linux (Fedora Core 7)
/dev/sda8: Linux (Free BSD) (Định sẽ cài thêm sau này)
/dev/sda9: Linux swap
 

Tớ cài boot loader lên first sector của /dev/sda7. Sau khi cài xong (không có vấn đề gì), reboot lại thì boot luôn vào Win2k3. Tớ nghĩ grub bị lỗi nên thử boot vào rescue mode để cài lại:
Code:
sh-3.00# chroot /mnt/sysimage
sh-3.00# grub-install /dev/sda7

Thì nhận được thông báo sau:

Installation finished. No error report.
This is the contend of the device map /boot/grub/device.map. Check if this is correct or not. If any of the lines is incorrect, fix it and return the script “grub-install”.
#This device map was generated by annacoda
(fd0) /dev/fd0
(sd0) /dev/sda

 

 

Tại sao lại cài boot loader lên first sector của /dev/sda7?
 

Chào anh conmale
Sau khi check vào Configure advanced boot loader và Next, tại đây có 2 tùy chọn để cài boot loader
1. Cài lên MBR
2. Cài lên first sector của /dev/sda7
Em chọn cái thứ 2 để sau này muốn remove FC thì không phải fdisk /mbr
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Gặp vấn đề liên tục với boot loader trong FC7? 27/06/2007 01:21:30 (+0700) | #4 | 67154
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

quanta wrote:

Chào anh conmale
Sau khi check vào Configure advanced boot loader và Next, tại đây có 2 tùy chọn để cài boot loader
1. Cài lên MBR
2. Cài lên first sector của /dev/sda7
Em chọn cái thứ 2 để sau này muốn remove FC thì không phải fdisk /mbr
 


OK, trước khi đi sâu vào boot... cái gì, mình nên nắm một số khái niệm:

- 1st sector của một hard drive là MBR (Master Boot Record).
- 1st sector này (MBR) thường có kích thước là 512 bytes.
- MBR chứa boot code và partition table.
- partition table này chứa thông tin về layout của partitions trên hard drive.
- 1st section của partition thường được gọi là "boot sector" của partition đó.
- tùy vào "cái gì" chứa trên partition ấy mà partition này có được dùng cho boot loader hay không.
- MBR luôn luôn được dùng để boot (vì nó chứa boot code và nó cũng có thể chứa boot code chi tiết cho nhiều boot sectors thuộc về các partitions trên đĩa).

Bởi vì MBR quá nhỏ nên nó không chứa đủ thông tin cần thiết để boot vào nhiều hệ điều hành trên nhiều partition khác nhau nên mới có cái gọi là "boot stage". Bởi thế, khi máy boot lên, nó đọc MBR trước và nhận diện "active" partition (partition nào được set là active ở BIOS, partition đó được BIOS nhận diện để boot). Khi đã đọc thông tin từ MBR, computer xác định GRUB là boot loader và sẽ boot vào hệ điều hành nào dựa theo thông tin có trong MBR (đây gọi là 1st stage boot). Trong trường hợp của em, em muốn boot hệ điều hành ở /dev/sda7 (đây gọi là 2nd stage boot) nhưng nếu trên MBR không có thông tin gì về /dev/sda7 cả thì em không thể boot vào đó được. Lý do tại sao khi em cài thành công mà trong MBR không có thông tin hoặc không đủ thông tin thì đó là chuyện khác.

Em dùng GRUB để ấn định lại /dev/sda3 trong MBR. Lần này MBR có thông tin về /dev/sda3 nhưng nó lại không boot được vì 2nd stage không đủ thông tin. Trong /dev/sda3 không hề có cái gì để cho GRUB thực thi boot vào Linux cả.

Ví dụ trong /etc/grub.conf của em có thông tin (cho 2nd stage boot):

Code:
title Fedora Core (2.6.19.1)
        root (hd0,1)
        kernel /boot/vmlinuz-2.6.19.1 ro root=LABEL=/1 enforcing=0
        initrd /boot/initrd-2.6.19.1.img


thì root (hd0,1) đĩa thứ nhất, partition 2 phải có /boot và nó phải có vmlinuz-2.6.19.1initrd-2.6.19.1.img (nếu dùng initrd).

Nếu em tạo /dev/sda3 và nó trống trơn thì chẳng cách nào boot được. Đó là lý do anh hỏi trong /dev/sda3 có cái gì.

Thân mến.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Gặp vấn đề liên tục với boot loader trong FC7? 27/06/2007 02:10:01 (+0700) | #5 | 67161
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

conmale wrote:

OK, trước khi đi sâu vào boot... cái gì, mình nên nắm một số khái niệm:

- 1st sector của một hard drive là MBR (Master Boot Record).
- 1st sector này (MBR) thường có kích thước là 512 bytes.
- MBR chứa boot code và partition table.
- partition table này chứa thông tin về layout của partitions trên hard drive.
- 1st section của partition thường được gọi là "boot sector" của partition đó.
- tùy vào "cái gì" chứa trên partition ấy mà partition này có được dùng cho boot loader hay không.
- MBR luôn luôn được dùng để boot (vì nó chứa boot code và nó cũng có thể chứa boot code chi tiết cho nhiều boot sectors thuộc về các partitions trên đĩa).
 

Chỗ 1st section phải là 1st sector đúng không anh?

conmale wrote:

Bởi vì MBR quá nhỏ nên nó không chứa đủ thông tin cần thiết để boot vào nhiều hệ điều hành trên nhiều partition khác nhau nên mới có cái gọi là "boot stage". Bởi thế, khi máy boot lên, nó đọc MBR trước và nhận diện "active" partition (partition nào được set là active ở BIOS, partition đó được BIOS nhận diện để boot). Khi đã đọc thông tin từ MBR, computer xác định GRUB là boot loader và sẽ boot vào hệ điều hành nào dựa theo thông tin có trong MBR (đây gọi là 1st stage boot). Trong trường hợp của em, em muốn boot hệ điều hành ở /dev/sda7 (đây gọi là 2nd stage boot) nhưng nếu trên MBR không có thông tin gì về /dev/sda7 cả thì em không thể boot vào đó được.
 

Có nghĩa là dù có cài boot loader vào MBR hay 1st sector của /dev/sda7 thì trong MBR luôn luôn có thông tin về /dev/sda7 đúng không ạ?

conmale wrote:

Lý do tại sao khi em cài thành công mà trong MBR không có thông tin hoặc không đủ thông tin thì đó là chuyện khác.
 

Anh có thể bày cho em các nguyên nhân gây nên hiện tượng này không ạ?

conmale wrote:

Em dùng GRUB để ấn định lại /dev/sda3 trong MBR. Lần này MBR có thông tin về /dev/sda3 nhưng nó lại không boot được vì 2nd stage không đủ thông tin. Trong /dev/sda3 không hề có cái gì để cho GRUB thực thi boot vào Linux cả.
 

Em nghĩ khi chọn cài boot loader vào 1st sector của /boot partition (ở đây là /dev/sda3) thì trong partition này phải có thông tin để GRUB boot vào FC chứ ạ.

conmale wrote:

Ví dụ trong /etc/grub.conf của em có thông tin (cho 2nd stage boot):

Code:
title Fedora Core (2.6.19.1)
        root (hd0,1)
        kernel /boot/vmlinuz-2.6.19.1 ro root=LABEL=/1 enforcing=0
        initrd /boot/initrd-2.6.19.1.img


thì root (hd0,1) đĩa thứ nhất, partition 2 phải có /boot và nó phải có vmlinuz-2.6.19.1initrd-2.6.19.1.img (nếu dùng initrd).

Nếu em tạo /dev/sda3 và nó trống trơn thì chẳng cách nào boot được. Đó là lý do anh hỏi trong /dev/sda3 có cái gì.

Thân mến. 

Ban đầu khi tạo ra /dev/sda3 thì nó sẽ trống trơn, nhưng sau khi mount với /boot và trong quá trình installing boot loader thì em nghĩ partition này phải có vmlinuz-2.6.19.1initrd-2.6.19.1.img chứ ạ.
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Gặp vấn đề liên tục với boot loader trong FC7? 27/06/2007 03:47:35 (+0700) | #6 | 67182
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

quanta wrote:

conmale wrote:

OK, trước khi đi sâu vào boot... cái gì, mình nên nắm một số khái niệm:

- 1st sector của một hard drive là MBR (Master Boot Record).
- 1st sector này (MBR) thường có kích thước là 512 bytes.
- MBR chứa boot code và partition table.
- partition table này chứa thông tin về layout của partitions trên hard drive.
- 1st section của partition thường được gọi là "boot sector" của partition đó.
- tùy vào "cái gì" chứa trên partition ấy mà partition này có được dùng cho boot loader hay không.
- MBR luôn luôn được dùng để boot (vì nó chứa boot code và nó cũng có thể chứa boot code chi tiết cho nhiều boot sectors thuộc về các partitions trên đĩa).
 

Chỗ 1st section phải là 1st sector đúng không anh?
 

Đoạn này anh gõ nhầm. Nó là 1st sector, không có section gì ở đây cả. smilie).

quanta wrote:

conmale wrote:

Bởi vì MBR quá nhỏ nên nó không chứa đủ thông tin cần thiết để boot vào nhiều hệ điều hành trên nhiều partition khác nhau nên mới có cái gọi là "boot stage". Bởi thế, khi máy boot lên, nó đọc MBR trước và nhận diện "active" partition (partition nào được set là active ở BIOS, partition đó được BIOS nhận diện để boot). Khi đã đọc thông tin từ MBR, computer xác định GRUB là boot loader và sẽ boot vào hệ điều hành nào dựa theo thông tin có trong MBR (đây gọi là 1st stage boot). Trong trường hợp của em, em muốn boot hệ điều hành ở /dev/sda7 (đây gọi là 2nd stage boot) nhưng nếu trên MBR không có thông tin gì về /dev/sda7 cả thì em không thể boot vào đó được.
 

Có nghĩa là dù có cài boot loader vào MBR hay 1st sector của /dev/sda7 thì trong MBR luôn luôn có thông tin về /dev/sda7 đúng không ạ?
 

Tất nhiên, nếu install boot information đúng.

quanta wrote:

conmale wrote:

Lý do tại sao khi em cài thành công mà trong MBR không có thông tin hoặc không đủ thông tin thì đó là chuyện khác.
 

Anh có thể bày cho em các nguyên nhân gây nên hiện tượng này không ạ?
 

Cái này thì có nhiều nguyên nhân. Trước khi thì do bugs của Linux installer của một số distro, rồi do giới hạn của motherboard nhận ra partition trong giới hạn bao nhiêu block trên disk, cũng có thể do người cài chọn sai hoặc thiếu gì đó....

Tuy nhiên, nếu dùng rescue disk để install lại grub (như em đã làm cho /dev/sda3) cho /dev/sda7 thì thường là nó ok.

quanta wrote:

conmale wrote:

Em dùng GRUB để ấn định lại /dev/sda3 trong MBR. Lần này MBR có thông tin về /dev/sda3 nhưng nó lại không boot được vì 2nd stage không đủ thông tin. Trong /dev/sda3 không hề có cái gì để cho GRUB thực thi boot vào Linux cả.
 

Em nghĩ khi chọn cài boot loader vào 1st sector của /boot partition (ở đây là /dev/sda3) thì trong partition này phải có thông tin để GRUB boot vào FC chứ ạ.

conmale wrote:

Ví dụ trong /etc/grub.conf của em có thông tin (cho 2nd stage boot):

Code:
title Fedora Core (2.6.19.1)
        root (hd0,1)
        kernel /boot/vmlinuz-2.6.19.1 ro root=LABEL=/1 enforcing=0
        initrd /boot/initrd-2.6.19.1.img


thì root (hd0,1) đĩa thứ nhất, partition 2 phải có /boot và nó phải có vmlinuz-2.6.19.1initrd-2.6.19.1.img (nếu dùng initrd).

Nếu em tạo /dev/sda3 và nó trống trơn thì chẳng cách nào boot được. Đó là lý do anh hỏi trong /dev/sda3 có cái gì.

Thân mến. 

Ban đầu khi tạo ra /dev/sda3 thì nó sẽ trống trơn, nhưng sau khi mount với /boot và trong quá trình installing boot loader thì em nghĩ partition này phải có vmlinuz-2.6.19.1initrd-2.6.19.1.img chứ ạ.
 

Khi install boot loader, nó chỉ điều chỉnh lại MBR mà không đụng chạm gì đến cái /boot của phần root mà em ấn định trong grub.conf cả.

Em mount /boot thế nào? /boot thuộc /dev/sda7 hay /dev/sda3? Nếu /boot nằm trên /dev/sda7 thì khi GRUB thực hiện stage 2 boot, nó làm sao biết cần phải mount /dev/sda7 để load kernel lên?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Gặp vấn đề liên tục với boot loader trong FC7? 27/06/2007 04:35:14 (+0700) | #7 | 67193
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

conmale wrote:

Khi install boot loader, nó chỉ điều chỉnh lại MBR mà không đụng chạm gì đến cái /boot của phần root mà em ấn định trong grub.conf cả.

Em mount /boot thế nào? /boot thuộc /dev/sda7 hay /dev/sda3? Nếu /boot nằm trên /dev/sda7 thì khi GRUB thực hiện stage 2 boot, nó làm sao biết cần phải mount /dev/sda7 để load kernel lên? 

Em tạo trước 1 partition kiểu ext3 bằng Acronis Disk Director Suite, sau đó đến bước partitioning khi cài FC7, em chỉ việc chọn Edit và mount nó với /boot.

/boot của em thuộc /dev/sda3

Lý do em phải làm thế này là: nếu không tạo trước 1 partition, đến bước partitioning, nếu chọn Create 1 partition mới và mount nó với /boot luôn thì gặp lỗi:

Error Partitioning
Could not allocate requested partitions:
Partitioning failed: could not allocate partitions as primary partition
Not enough space left to create partition for /boot

 

Máy em chỉ có /dev/sda1 (win2k3) là primary thêm /boot partition này là 2 (em nhớ tối đa là 4 primary partitions)
Mặc dù đã uncheck tùy chọn "Force to be primary" cũng không được
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Gặp vấn đề liên tục với boot loader trong FC7? 27/06/2007 05:34:58 (+0700) | #8 | 67214
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

quanta wrote:

conmale wrote:

Khi install boot loader, nó chỉ điều chỉnh lại MBR mà không đụng chạm gì đến cái /boot của phần root mà em ấn định trong grub.conf cả.

Em mount /boot thế nào? /boot thuộc /dev/sda7 hay /dev/sda3? Nếu /boot nằm trên /dev/sda7 thì khi GRUB thực hiện stage 2 boot, nó làm sao biết cần phải mount /dev/sda7 để load kernel lên? 

Em tạo trước 1 partition kiểu ext3 bằng Acronis Disk Director Suite, sau đó đến bước partitioning khi cài FC7, em chỉ việc chọn Edit và mount nó với /boot.

/boot của em thuộc /dev/sda3

Lý do em phải làm thế này là: nếu không tạo trước 1 partition, đến bước partitioning, nếu chọn Create 1 partition mới và mount nó với /boot luôn thì gặp lỗi:

Error Partitioning
Could not allocate requested partitions:
Partitioning failed: could not allocate partitions as primary partition
Not enough space left to create partition for /boot

 

Máy em chỉ có /dev/sda1 (win2k3) là primary thêm /boot partition này là 2 (tối đa là 4 primary partitions)
Mặc dù đã uncheck tùy chọn "Force to be primary" cũng không được 


Đây là giới hạn số primary partition. Nên xét lại cách chia partition. Cách nên làm là nên tìm 1 đĩa cứng riêng cho Linux.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: Gặp vấn đề liên tục với boot loader trong FC7? 27/06/2007 12:52:11 (+0700) | #9 | 67290
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Em đã cài lại với tùy chọn: Remove all Linux partitions and create default layout
Sau khi cài xong vẫn boot luôn vào Win2k3.
Em log vào rescue mode, cat /etc/fstab thì được

/dev/VolGroup00/LogVol00 ----- / ----- ext3 ----- defaults ----- 1 1
LABEL=/boot ----- /boot ----- ext3 ----- defaults ----- 1 2
tmpfs ----- /dev/shm ----- tmpfs ----- defaults ----- 0 0
devpts ----- /dev/pts ----- devpts ----- gid=5, mode=620 ----- 0 0
sysfs ----- /sys ----- sysfs ----- defaults ----- 0 0
proc ----- /proc -----proc ----- defaults ----- 0 0
/dev/VolGroup00/LogVol01 swap

 

Em cat tiếp /etc/grub.conf lại được:

#boot = /dev/sda7
default = 0
timeout = 5
splashimage = (hd0, 6) /grub/splash.xpm.gz

hiddenmenu

title Fedora (2.6.21-1.3194.fc7)
root (hd0, 6)
kernel /vmlinuz-2.6.21-1.3194.fc7 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.21-1.3194.fc7.img
title Windows Server 2003
rootnoverity (hd0, 0)
chainloader +1
 

Tại sao lại có dòng hiddenmenu ở đây. Liệu đây có phải là nguyên nhân làm cho boot loader không xuất hiện khi boot

Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Re: Gặp vấn đề liên tục với boot loader trong FC7? 27/06/2007 18:08:50 (+0700) | #10 | 67303
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

quanta wrote:
Em đã cài lại với tùy chọn: Remove all Linux partitions and create default layout
Sau khi cài xong vẫn boot luôn vào Win2k3.
Em log vào rescue mode, cat /etc/fstab thì được

/dev/VolGroup00/LogVol00 ----- / ----- ext3 ----- defaults ----- 1 1
LABEL=/boot ----- /boot ----- ext3 ----- defaults ----- 1 2
tmpfs ----- /dev/shm ----- tmpfs ----- defaults ----- 0 0
devpts ----- /dev/pts ----- devpts ----- gid=5, mode=620 ----- 0 0
sysfs ----- /sys ----- sysfs ----- defaults ----- 0 0
proc ----- /proc -----proc ----- defaults ----- 0 0
/dev/VolGroup00/LogVol01 swap

 

Em cat tiếp /etc/grub.conf lại được:

#boot = /dev/sda7
default = 0
timeout = 5
splashimage = (hd0, 6) /grub/splash.xpm.gz
hidden menu
title Fedora (2.6.21-1.3194.fc7)
root (hd0, 6)
kernel /vmlinuz-2.6.21-1.3194.fc7 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.21-1.3194.fc7.img
title Windows Server 2003
rootnoverity (hd0, 0)
chainloader +1
 

Tại sao lại có dòng hidden menu ở đây. Liệu đây có phải là nguyên nhân làm cho boot loader không xuất hiện khi boot

 


Tại sao em không thử tìm hiểu xem "hidden menu" trên GRUB dùng để làm gì?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: Gặp vấn đề liên tục với boot loader trong FC7? 27/06/2007 21:16:45 (+0700) | #11 | 67312
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

conmale wrote:

Tại sao em không thử tìm hiểu xem "hiddenmenu" trên GRUB dùng để làm gì? 

Vâng ạ,
Lệnh này sẽ ngăn cản GRUB menu interface được hiển thị. Sau đó khi timeout period expired, thì default entry sẽ được load. User có thể xem standard GRUB menu bằng cách press [Esc] key.
Trở lại với vấn đề của em:
1. Khi nào thì xuất hiện lệnh này trong grub.conf? (cài boot loader lên MBR hay first sector của /boot)
2. timeout period không xuất hiện, vậy làm sao để biết khi nào nó expired?
3. Em sẽ thử press [Esc] key xem sao.
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Re: Gặp vấn đề liên tục với boot loader trong FC7? 27/06/2007 23:38:09 (+0700) | #12 | 67353
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Em vừa kiếm được cái này, ko biết có hữu hiệu không?

Open up the /boot/grub/menu.lst file in your favorite text editor. I'm using gedit:
Code:
sudo gedit /boot/grub/menu.lst

Now find the section that looks like this:
Code:
## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
hiddenmenu

Put a # before hiddenmenu to comment that line out:
## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu 

Save the file, and you should see the menu the next time you reboot.
 

Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Re: Gặp vấn đề liên tục với boot loader trong FC7? 29/06/2007 10:06:56 (+0700) | #13 | 67645
[Avatar]
mudzot
Elite Member

[Minus]    0    [Plus]
Joined: 26/06/2006 14:41:27
Messages: 76
Offline
[Profile] [PM]
Vấn đề của quanta là ko thích dùng grub làm boot loader mặc định, vì vậy chỉ cài grub vào 1st sector của sda7 ==> bạn có làm gì thay đổi MBR đâu ==> quá trình khởi động trước nay ra sao thì nó vẫn thế.

quanta thắc mắc là tại sao nó cứ vào windows luôn, vậy nếu nó ko vào thẳng windows thì nó hiện ra cái gì ? Có phải bạn muốn cái menu đen thui và mấy dòng lựa chọn giống như khi cài 2 bản windows ?

Vậy thì để giải quyết vấn đề của bạn:
1, Tìm file nào quyết định nội dung cái menu đen thui đó, tức là tìm đồng nghiệp của file grub.conf trên windows.
2, Bằng cách nào đó thêm vào 1 dòng menu, làm sao khi chọn dòng đó nó sẽ nạp 1st sector của sda7
[Up] [Print Copy]
  [Question]   Re: Gặp vấn đề liên tục với boot loader trong FC7? 08/07/2007 10:34:06 (+0700) | #14 | 69803
[Avatar]
lihavim
Elite Member

[Minus]    0    [Plus]
Joined: 08/06/2004 15:19:32
Messages: 506
Offline
[Profile] [PM]

mudzot wrote:
Vấn đề của quanta là ko thích dùng grub làm boot loader mặc định, vì vậy chỉ cài grub vào 1st sector của sda7 ==> bạn có làm gì thay đổi MBR đâu ==> quá trình khởi động trước nay ra sao thì nó vẫn thế.

quanta thắc mắc là tại sao nó cứ vào windows luôn, vậy nếu nó ko vào thẳng windows thì nó hiện ra cái gì ? Có phải bạn muốn cái menu đen thui và mấy dòng lựa chọn giống như khi cài 2 bản windows ?

Vậy thì để giải quyết vấn đề của bạn:
1, Tìm file nào quyết định nội dung cái menu đen thui đó, tức là tìm đồng nghiệp của file grub.conf trên windows.
2, Bằng cách nào đó thêm vào 1 dòng menu, làm sao khi chọn dòng đó nó sẽ nạp 1st sector của sda7
 

Hehe, nói trắng ra nó là thằng boot.ini của Win smilie.
Anh quanta sao phần khởi động của grub vào 1 file rồi cho lên phân vùng win, thêm lệnh vào boot.ini smilie
[Up] [Print Copy]
  [Question]   Re: Gặp vấn đề liên tục với boot loader trong FC7? 09/07/2007 00:18:27 (+0700) | #15 | 69891
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Tớ cần confirm lại một vài điều:

+ Như trên anh conmale đã nói: dù có cài grub vào MBR hay first sector của /boot trong /dev/sda7 thì trong MBR luôn có thông tin về /dev/sda7 (nếu cài đúng). Và nếu trong MBR đã có thông tin về /dev/sda7 thì khi khởi động có xuất hiện menu cho phép người dùng chọn OS không? Nếu không thì tại sao?

+ Giả sử nếu cài grub vào first sector đó thì không làm thay đổi MBR như mudzot nói thì lúc này phải dùng đến lệnh "dd". Thường thì người ta khuyến cáo nên tạo đĩa mềm khởi động khi cài *nix để sau này dùng "dd" copy 512 bytes của cái boot sector đó rồi paste vào C: partition. Sau đó thêm vào boot.ini dòng này:

C:\bootsect.lnx="Fedora 7"
 

để tạo thêm một menu lựa chọn khi khởi động. Nhưng nếu mình không tạo đĩa mềm, thì có thể dùng CD1 của Fedora 7, log vào rescue mode và thực hiện lệnh "dd" như trên. Xin hỏi cách làm này có copy được đúng nội dung của cái grub trong first sector của /dev/sda7 và lưu thành file bootsect.lnx không? Hỏi thêm là có cách nào xem được nội dung (hoặc cấu trúc) của file bootsect.lnx này không? (Khi thử mở bằng Notepad trong Windows thì nó trống trơn, hoặc chỉ có 2, 3 dòng với các ký tự loằng ngoằng --> do đó, sau khi khởi động lại, đã xuất hiện menu "Fedora 7" nhưng di chuyển đến đó và Enter thì 1 lỗi thiếu file "kinh điển" của windows xuất hiện:

Windows could not start because the following file is missing or corrupt:

C:\Windows\system32\ntoskrnl.exe. Please re-install a copy of the above file.
 

Như google nói thì lỗi này xảy ra khi bạn tạo một partition nằm trước partition cài Win, nhưng trong boot.ini lại vẫn trỏ tới partition cũ

Anh em vào giúp một tay, thanks
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Re: Gặp vấn đề liên tục với boot loader trong FC7? 11/07/2007 00:10:52 (+0700) | #16 | 70316
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
- thảy lên trọn bộ cái boot.ini xem?
- đưa lên dòng lệnh dd em đã chạy thế nào?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: Gặp vấn đề liên tục với boot loader trong FC7? 11/07/2007 00:40:38 (+0700) | #17 | 70321
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

conmale wrote:
- đưa lên dòng lệnh dd em đã chạy thế nào? 

Em thực hiện như sau:
Code:
login rescue mode
mkdir /mnt/C
dd if=/dev/sda7 of=/mnt/C/bootsect.lnx bs=512 count=1

conmale wrote:
- thảy lên trọn bộ cái boot.ini xem?
 

Dạ, nó đây:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect
C:\bootsect.lnx="Fedora 7"
 

Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Re: Gặp vấn đề liên tục với boot loader trong FC7? 11/07/2007 01:02:03 (+0700) | #18 | 70326
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Hoàn toàn đúng. Chứng tỏ 512 bytes đầu của /dev/sda7 hoàn toàn không có tí gì để có thể dùng để boot vào Fedora 7 cả.

Nếu vậy em nên install lên MBR chớ đừng install lên boot sector của /dev/sda7 vì dường như GRUB không thể set cái gì ở đó cả. Mà không có gì ở đó thì em có lột 512 bytes ra cũng như không.

Anh không chuộng việc "lột" 512 bytes ra rồi vác vào Windows bởi vì nếu Windows có sự cố gì thì hết vào Windows, hết vào luôn Linux.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: Gặp vấn đề liên tục với boot loader trong FC7? 11/07/2007 01:30:46 (+0700) | #19 | 70329
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

conmale wrote:
Hoàn toàn đúng. Chứng tỏ 512 bytes đầu của /dev/sda7 hoàn toàn không có tí gì để có thể dùng để boot vào Fedora 7 cả.
 

Em vẫn còn "lăn tăn" một điều: Tại sao em cài grub lên first sector của /dev/sda7, mà tại sao trong đó lại không có tí "thông tin" nào để boot ạ? (Rõ ràng là trong quá trình cài, nó không "báo cáo" một cái lỗi nào)

conmale wrote:

Nếu vậy em nên install lên MBR chớ đừng install lên boot sector của /dev/sda7 vì dường như GRUB không thể set cái gì ở đó cả. Mà không có gì ở đó thì em có lột 512 bytes ra cũng như không.
 

Dạ, em đã re-install rồi, nhưng cần hiểu ngọn ngành vấn đề ạ

conmale wrote:

Anh không chuộng việc "lột" 512 bytes ra rồi vác vào Windows bởi vì nếu Windows có sự cố gì thì hết vào Windows, hết vào luôn Linux. 

Thế mà hồi mới làm quen với Linux, em có tìm đọc hướng dẫn cài trên Net (bằng tiếng Việt), em thấy phải có đến 70% các hướng dẫn này khuyên là:
bạn hãy chọn cài grub lên “first sector of boot partition” 

lúc cài linux bằng dòng lệnh thì có phần hỏi cài trên first sector hay cài trên MBR, lần đầu tiên cài linux tui chọn MBR nhưng sau khi cần cài lại nó thì cái win cũng mất tiêu , hỏi thăm người khác thì họ bảo nên cài trên first sector. 

Bạn cần đánh dấu chọn vào “Configure advanced boot loader option” và nhấn Next. Ở đây có 2 tùy chọn cho bạn là cài đặt BootLoader vào Master Boot Record (MBR) hay First sector of boot partition, nhấp chọn mục thứ 2. 

Một lưu ý cuối cùng nửa là bạn đừng quên cài boot grub (hay boot lilo) ở first sector của redhat partition chứ đừng bao giờ cài đặt ở bootsector 

Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Re: Gặp vấn đề liên tục với boot loader trong FC7? 11/07/2007 05:21:18 (+0700) | #20 | 70373
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

quanta wrote:

conmale wrote:
Hoàn toàn đúng. Chứng tỏ 512 bytes đầu của /dev/sda7 hoàn toàn không có tí gì để có thể dùng để boot vào Fedora 7 cả.
 

Em vẫn còn "lăn tăn" một điều: Tại sao em cài grub lên first sector của /dev/sda7, mà tại sao trong đó lại không có tí "thông tin" nào để boot ạ? (Rõ ràng là trong quá trình cài, nó không "báo cáo" một cái lỗi nào)
 

Anh nhớ là anh đã giải thích lý do của thắc mắc này trong chủ này rồi. Có lẽ em chưa đọc kỹ. Em nên đọc lại. Sẵn tiện, anh giải thích thêm 1 tí như sau:

Có thể trường hợp em đang gặp phải là do giới hạn BIOS của motherboard. Anh nghĩ là cái BIOS trên motherboard em đang dùng vẫn còn bị giới hạn 8GB (1024 Cylinder) rồi đó. Nói một cách khác, nếu cách chia partition của em là:

Code:
/dev/sda1: FAT32(LBA) (Windows 2k3)
/dev/sda2: Extended
/dev/sda5: HPFS/NTFS
/dev/sda6: HPFS/NTFS
/dev/sda7: Linux (Fedora Core 7)
/dev/sda8: Linux (Free BSD) (Định sẽ cài thêm sau này)
/dev/sda9: Linux swap


Thì dung lượng chiếm từ /dev/sda1 đến /dev/sda6 (trước khi tới /boot partition của Linux) hẳn phải hơn 8Gb. Bởi thế, nếu gặp giới hạn 1024 cylinder trên BIOS của motherboard thì không cách gì GRUB có thể set thứ gì trên 1st sector của /dev/sda7 cả. Cũng vì thế mà em dùng dd để lột 512 bytes đầu tiên của partition này, nó không hề chứa thông tin để boot linux trên /dev/sda7 nên khi em mang qua Windows, nó trống rỗng hoặc không chứa thông tin cần dùng.

Ngay cả BIOS trên motherboard của em đã vượt qua giới hạn 8Gb (1024 Cylinder), vẫn có thể nó còn vướng ở giới hạn kế tiếp là 33.5Gb vì từ /dev/sda1 đến /dev/sda6 vẫn nhiều hơn 33.5Gb theo anh phỏng đoán.

Cách giải quyết trở ngại này là tạo /boot partition của Linux nằm trong giới hạn 8Gb. Các partition khác nằm xa hơn thế nào không quan trọng.

quanta wrote:

conmale wrote:

Nếu vậy em nên install lên MBR chớ đừng install lên boot sector của /dev/sda7 vì dường như GRUB không thể set cái gì ở đó cả. Mà không có gì ở đó thì em có lột 512 bytes ra cũng như không.
 

Dạ, em đã re-install rồi, nhưng cần hiểu ngọn ngành vấn đề ạ

conmale wrote:

Anh không chuộng việc "lột" 512 bytes ra rồi vác vào Windows bởi vì nếu Windows có sự cố gì thì hết vào Windows, hết vào luôn Linux. 

Thế mà hồi mới làm quen với Linux, em có tìm đọc hướng dẫn cài trên Net (bằng tiếng Việt), em thấy phải có đến 70% các hướng dẫn này khuyên là:
bạn hãy chọn cài grub lên “first sector of boot partition” 

lúc cài linux bằng dòng lệnh thì có phần hỏi cài trên first sector hay cài trên MBR, lần đầu tiên cài linux tui chọn MBR nhưng sau khi cần cài lại nó thì cái win cũng mất tiêu , hỏi thăm người khác thì họ bảo nên cài trên first sector. 

Bạn cần đánh dấu chọn vào “Configure advanced boot loader option” và nhấn Next. Ở đây có 2 tùy chọn cho bạn là cài đặt BootLoader vào Master Boot Record (MBR) hay First sector of boot partition, nhấp chọn mục thứ 2. 

Một lưu ý cuối cùng nửa là bạn đừng quên cài boot grub (hay boot lilo) ở first sector của redhat partition chứ đừng bao giờ cài đặt ở bootsector 

 

 
Những cái quote trên không có gì sai cả nếu như:

- motherboard không bị giới hạn, hoặc
- họ tạo /boot nằm trong giới hạn 1024 Cylinder.

Thân mến.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: Gặp vấn đề liên tục với boot loader trong FC7? 11/07/2007 06:08:02 (+0700) | #21 | 70386
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

conmale wrote:

Anh nhớ là anh đã giải thích lý do của thắc mắc này trong chủ này rồi. Có lẽ em chưa đọc kỹ. Em nên đọc lại.
 

Em đã đọc đoạn giải thích này

Trước khi thì do bugs của Linux installer của một số distro, rồi do giới hạn của motherboard nhận ra partition trong giới hạn bao nhiêu block trên disk
 

của anh rồi. Nhưng nó hơi chung chung và làm sao "quý giá" bằng 2 con số 8GB và 33.5 GB được ạ :lolsmilie

conmale wrote:

Sẵn tiện, anh giải thích thêm 1 tí như sau:

Có thể trường hợp em đang gặp phải là do giới hạn BIOS của motherboard. Anh nghĩ là cái BIOS trên motherboard em đang dùng vẫn còn bị giới hạn 8GB (1024 Cylinder) rồi đó. Nói một cách khác, nếu cách chia partition của em là:

Code:
/dev/sda1: FAT32(LBA) (Windows 2k3)
/dev/sda2: Extended
/dev/sda5: HPFS/NTFS
/dev/sda6: HPFS/NTFS
/dev/sda7: Linux (Fedora Core 7)
/dev/sda8: Linux (Free BSD) (Định sẽ cài thêm sau này)
/dev/sda9: Linux swap


Thì dung lượng chiếm từ /dev/sda1 đến /dev/sda6 (trước khi tới /boot partition của Linux) hẳn phải hơn 8Gb. Bởi thế, nếu gặp giới hạn 1024 cylinder trên BIOS của motherboard thì không cách gì GRUB có thể set thứ gì trên 1st sector của /dev/sda7 cả. Cũng vì thế mà em dùng dd để lột 512 bytes đầu tiên của partition này, nó không hề chứa thông tin để boot linux trên /dev/sda7 nên khi em mang qua Windows, nó trống rỗng hoặc không chứa thông tin cần dùng.

Ngay cả BIOS trên motherboard của em đã vượt qua giới hạn 8Gb (1024 Cylinder), vẫn có thể nó còn vướng ở giới hạn kế tiếp là 33.5Gb vì từ /dev/sda1 đến /dev/sda6 vẫn nhiều hơn 33.5Gb theo anh phỏng đoán.
 

Chính xác từ /dev/sda1 đến /dev/sda6 là 55 GB anh à, nên hiển nhiên là nó gặp phải 2 cái giới hạn trên.

conmale wrote:

Cách giải quyết trở ngại này là tạo /boot partition của Linux nằm trong giới hạn 8Gb. Các partition khác nằm xa hơn thế nào không quan trọng.
 

Thông tin này thật sự hữu ích đối với em.
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Gặp vấn đề liên tục với boot loader trong FC7? 31/03/2008 20:25:00 (+0700) | #22 | 122258
[Avatar]
strawhat
Member

[Minus]    0    [Plus]
Joined: 05/09/2007 09:53:21
Messages: 7
Offline
[Profile] [PM]

conmale wrote:

quanta wrote:

Chào anh conmale
Sau khi check vào Configure advanced boot loader và Next, tại đây có 2 tùy chọn để cài boot loader
1. Cài lên MBR
2. Cài lên first sector của /dev/sda7
Em chọn cái thứ 2 để sau này muốn remove FC thì không phải fdisk /mbr
 


OK, trước khi đi sâu vào boot... cái gì, mình nên nắm một số khái niệm:

- 1st sector của một hard drive là MBR (Master Boot Record).
- 1st sector này (MBR) thường có kích thước là 512 bytes.
- MBR chứa boot code và partition table.
- partition table này chứa thông tin về layout của partitions trên hard drive.
- 1st section của partition thường được gọi là "boot sector" của partition đó.
- tùy vào "cái gì" chứa trên partition ấy mà partition này có được dùng cho boot loader hay không.
- MBR luôn luôn được dùng để boot (vì nó chứa boot code và nó cũng có thể chứa boot code chi tiết cho nhiều boot sectors thuộc về các partitions trên đĩa).

Bởi vì MBR quá nhỏ nên nó không chứa đủ thông tin cần thiết để boot vào nhiều hệ điều hành trên nhiều partition khác nhau nên mới có cái gọi là "boot stage". Bởi thế, khi máy boot lên, nó đọc MBR trước và nhận diện "active" partition (partition nào được set là active ở BIOS, partition đó được BIOS nhận diện để boot). Khi đã đọc thông tin từ MBR, computer xác định GRUB là boot loader và sẽ boot vào hệ điều hành nào dựa theo thông tin có trong MBR (đây gọi là 1st stage boot). Trong trường hợp của em, em muốn boot hệ điều hành ở /dev/sda7 (đây gọi là 2nd stage boot) nhưng nếu trên MBR không có thông tin gì về /dev/sda7 cả thì em không thể boot vào đó được. Lý do tại sao khi em cài thành công mà trong MBR không có thông tin hoặc không đủ thông tin thì đó là chuyện khác.

 



Theo em hiểu được thì khi máy boot lên, nó đọc MBR trước và nhận diện "active" partition,sau đó thì boot sector của active partion được load.
Trong boot sector của "active" partion chứa boot code để load HDH có trên "active" partion này.boot code này có được trong quá trình format cấp cao của HDH
Vậy thì khi một boot loader được cài đặt thì có 2 phương án
Code:
1- thay đổi MBR.Cài đặt stage 1,stage 1 có nhiệm vụ load stage 1,5 hoặc 2
  2- thay đổi boot code trong "active" partion.Không động đến MBR

Giống như khi cài đặt GRUB trong quá trình cái fedora nó cho 2 phương án.Một là install GRUB lên MBR(1-thay đổi MBR),hai là install GRUB lên linux partion (2-thay đổi boot code)
Cho nên khi đọc đoạn trên của anh, em có 2 điều ko hiểu:

-Nếu như MBR đã nhận diện "active" partion để boot.Tức là MBR ko bị thay đổi,GRUB ko dc install lên MBR.Tại sao computer xác định dc GRUB là boot loader?
-Trường hợp của quanta là muốn cài đặt GRUB lên boot sector của /dev/sda7,do partion ko phải là "active" partion nên ko load được GRUB.Anh giải thích trong trường hợp của quanta như vậy em không hiểu lắm

Em vẫn chưa hiểu được quá trình boot từ khi bật máy cho đến khi load dc kernel nếu có cài boot loader .Anh có thể giải thích chi tiết vấn đề này ko a.Em có đọc mấy tài liệu mà vẫn thấy mù mờ nhờ anh giải thích chi tiết.Cảm ơn anh smilie
[Up] [Print Copy]
  [Question]   Gặp vấn đề liên tục với boot loader trong FC7? 01/04/2008 03:31:30 (+0700) | #23 | 122333
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

strawhat wrote:

...
Em vẫn chưa hiểu được quá trình boot từ khi bật máy cho đến khi load dc kernel nếu có cài boot loader .Anh có thể giải thích chi tiết vấn đề này ko a.Em có đọc mấy tài liệu mà vẫn thấy mù mờ nhờ anh giải thích chi tiết.Cảm ơn anh smilie  

Tham khảo: http://www.ibm.com/developerworks/linux/library/l-linuxboot/
Xin tóm tắt lại:
+ Bật máy
+ BIOS sẽ tìm thiết bị có thể boot (thường là HDD)
+ BIOS trao quyền kiểm soát cho MBR
+ MBR chứa GRUB stage 1 (trong trường hợp cài GRUB lên first sector của /boot partition thì bắt buộc phải dùng dd copy 512 bytes của /boot partition ra 1 file, thêm 1 menu vào boot.ini trỏ đến file đó, để khi menu này được chọn thì stage 1 sẽ được load)
+ stage 1 của GRUB được load vào RAM và thi hành (nhiệm vụ của stage 1 chỉ là load stage 2 hoặc stage 1.5)
+ stage 2 đã được load vào RAM và đang thi hành, màn hình splash hiển thị
+ User chọn kernel cần boot, stage 2 trao quyền điều khiển cho kernel (ở bước này, stage 2 sẽ kiểm tra phần cứng hệ thống, mount root, load các kernel modules cần thiết, ...)
+ Kernel khởi tạo init process (là process được chạy đầu tiên, là "cha" của các process khác, được khởi tạo trực tiếp bởi kernel, luôn luôn có PID là 1)
Code:
$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   2112   620 ?        Ss   08:57   0:01 init [5]
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Re: Gặp vấn đề liên tục với boot loader trong FC7? 31/05/2008 14:20:10 (+0700) | #24 | 133565
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

quanta wrote:

Em vẫn còn "lăn tăn" một điều: Tại sao em cài grub lên first sector của /dev/sda7, mà tại sao trong đó lại không có tí "thông tin" nào để boot ạ? (Rõ ràng là trong quá trình cài, nó không "báo cáo" một cái lỗi nào)
 

Xin phép được kéo cái topic này lên để tự trả lời thắc mắc trên.

Một nguyên tắc là: Một hệ điều hành chỉ có thể boot được khi nó (hoặc boot loader quản lý nó) được cài trên primary partition.
Như vậy:
TH1: Nếu khi cài Linux, bạn chỉ phân chia 2 phân vùng: 1 cho /, và 1 cho swap thì bắt buộc phải đặt / là một primary partition.
TH2: Nếu bạn dành ra 3 phân vùng: 1 cho /boot, 1 cho /, và phân vùng còn lại cho swap thì /boot bắt buộc phải là primary partition, còn / và swap hoàn toàn có thể là logical partition.

Ở trường hợp trên, boot loader (grub) được cài vào 1st sector của /dev/sda7 - là một logical partition, nên quá trình cài bị failed. Đúng ra thì Fedora 7 nên thông báo lỗi để người dùng biết. Với Ubuntu 7.10, nếu bạn tiến hành tương tự như trên (chỉ dành ra 2 phân vùng, 1 cho / và 1 cho swap), rồi cài grub vào 1st sector của / - là một logical partition, thì sẽ gặp thông báo lỗi ngay.
Let's build on a great foundation!
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|