Làm cách nào để cài đặt GRUB khi cài đặt hệ thống RAID?


43

Tôi đang cố gắng thiết lập và cài đặt Ubuntu trên thiết lập RAID 1. Tôi có hai đĩa, sdb và sdc. Tôi đã làm theo hướng dẫn này

https://help.ubfox.com/community/Installation/SoftwareRAID

mà ít nhiều hoạt động để cài đặt mọi thứ và cài đặt Ubuntu. Vấn đề là ở phần cuối của quá trình cài đặt, nó cố gắng cài đặt GRUB. Theo mặc định, nó thử "đĩa đầu tiên" của tôi, nó đưa ra "lỗi nghiêm trọng". Tôi đã thử cài đặt nó trên một phần cụ thể, ví dụ: sdb1 cũng như các thiết bị RAID, ví dụ md0, md1, v.v .. Dường như không có gì hoạt động.

Lỗi thực tế là

Không thể cài đặt GRUB trong / dev / sdb

Thực hiện 'grub-install' / dev / sdb 'không thành công.

Đây la một lôi nghiêm trọng.

Sau đó tôi được đưa trở lại menu cài đặt chính. Nếu tôi chọn tùy chọn "Cài đặt bộ tải khởi động GRUB trên đĩa cứng", tôi có thể chọn phân vùng, nhưng nhập sdb2 hoặc md1 sẽ gây ra lỗi tương tự.

Vì vậy, tôi đã tiếp tục cài đặt GRUB, điều đó có nghĩa là bây giờ tôi có thể cài đặt Ubuntu đang hoạt động, nhưng tôi không thể khởi động nó. Tôi đã thử khởi động từ LiveCD để cài đặt GRUB, nhưng tôi không thể truy cập vào hệ thống của mình vì dường như không nhận ra rằng đĩa của tôi là đĩa Linux. Có một lỗi về nó là một phân vùng RAID.

Vì vậy, về cơ bản tôi thực sự muốn biết làm thế nào bạn biết cài đặt GRUB cho thiết bị nào, hoặc ít nhất, làm thế nào để cài đặt nó vào hệ thống của tôi bây giờ.

Tôi cho rằng tôi cũng nên đề cập rằng sda là bản cài đặt Windows 7 mà tôi muốn giữ xung quanh và có thể truy cập khi khởi động.

Cảm ơn vì bất kì sự giúp đỡ.


Không nói lỗi là gì, chúng tôi không thể giúp. Cài đặt vào sda (và có thể cả sdb và sdc nữa) là điều nên làm. Để truy cập cuộc đột kích từ livecd, bạn cần cài đặt gói mdadm:sudo apt-get install --no-install-recommends mdadm
psusi

Xin lỗi về điều đó, tôi đã chỉnh sửa bài đăng của mình để bao gồm thông báo lỗi. Lý do tôi đã cố gắng cài đặt trên một cái gì đó không phải là sdb, sdc là vì tôi đã đọc chủ đề này có vẻ như nói rằng tôi nên tìm phân vùng chính xác trong / dev / mapper. Nhưng khi tôi thả vào trình bao trong trình cài đặt, không có gì xuất hiện trong / dev / mapper ngoài điều khiển.
Kris Harper

Đó là cho fakeraid, không phải đột kích phần mềm.
psusi

1
Bạn đang sử dụng bảng phân vùng MSDOS hoặc GPT? Nếu bạn đang sử dụng GPT, bạn phải tạo phân vùng bios_boot.
psusi

1
Tôi đã quản lý để làm cho nó hoạt động bằng cách tạo ba phân vùng trên mỗi ổ đĩa, kết hợp hai bộ với nhau cho hệ thống tập tin và trao đổi và để hai cái cuối cùng không bị chặn. Sau đó, tôi đã chọn / khởi động làm điểm gắn kết cho một trong số chúng và chọn điểm đó khi cài đặt GRUB. Điều này dường như làm việc. Mối quan tâm duy nhất của tôi là GRUB không được cài đặt trên ổ đĩa khác, vì vậy nếu tôi gặp lỗi ổ đĩa, tôi có thể không khởi động được. Có lẽ tôi có thể khắc phục điều này bằng cách cài đặt GRUB trên ổ đĩa khác, mặc dù thực tế là phân vùng đó không được đặt làm điểm / boot mount?
Kris Harper

Câu trả lời:


16

Vấn đề của tôi hóa ra là tôi có bảng phân vùng GUID vì mỗi ổ của tôi có dung lượng 2TB. Phương pháp ban đầu tôi đã cố làm theo đã không cho rằng điều này và vì vậy việc cài đặt GRUB không hoạt động.

Thay vào đó, bạn nên tạo một phân vùng nhỏ (1MB) trên mỗi đĩa và RAID chúng lại với nhau và đặt nó làm phân vùng khởi động GRUB (tôi không chắc tên thật). Thiết lập các phân vùng RAID khác của bạn (ví dụ: trao đổi và /) và sau đó trình cài đặt GRUB sẽ tìm thấy khu vực khởi động tốt.

(Trên Debian, đây được gọi là khu vực khởi động BIOS dành riêng .)


1
cái này chỉ hoạt động cho raid1 - tôi đã thử cái này cho raid6 và nó cứ bị lỗi mà không có thông báo lỗi giúp đỡ :(
Mr.Gosh

Làm thế nào bạn đã tạo ra cuộc đột kích phần mềm? tôi hiện đang cố gắng làm như vậy. xem câu hỏi của tôi trên serverfault: serverfault.com/q/749274/71452
c33s

13

Nhiều câu trả lời ở đây chỉ đơn giản là không chính xác, bảo bạn tắt BIOS RAID! Giải pháp chính xác là tại mục blog này . Tôi sẽ tóm tắt nó dưới đây.

Ở giai đoạn cài đặt nơi nó đang cố cài đặt GRUB, nó sẽ phát hiện thành

/dev/mapper

Điều này là không đầy đủ! Đó là lý do tại sao cài đặt GRUB không thành công.

Bạn cần tên thật của mảng RAID để cài đặt . Vì vậy, trong bước đó, nhấn ctrl+ alt+ F2để thả xuống thiết bị đầu cuối busybox, sau đó nhập

ls -l /dev/mapper

Chọn tên của mảng của bạn từ danh sách được hiển thị, sau đó nhấn ctrl+ alt+ F1để quay lại cài đặt (bạn có thể chuyển đổi qua lại bao nhiêu tùy thích mà không gặp vấn đề gì) và nhập nó vào trường như

/dev/mapper/{your array name}  

sau đó GRUB cài đặt hoàn hảo và bạn đã sẵn sàng, với một mảng BIOS BIOS phù hợp còn nguyên vẹn.


7
Điều gì xảy ra nếu ls -l / dev / mapper không hiển thị gì ngoài "control" như nội dung của nó?
Brian Bauman

Tôi không chắc. Tôi nghi ngờ bạn không có RAID RAID hay còn gọi là RAID "giả" vào thời điểm đó?
Jeff Atwood

Tôi hoàn thành phân vùng và cài đặt như bình thường và sau đó cài đặt thất bại khi cài đặt GRUB. Tôi không chắc tại sao RAID sẽ không được khởi tạo vào thời điểm đó, vì cài đặt dành riêng cho ba mảng đột kích mà tôi đã xây dựng - raid1 /, raid0 hoán đổi và raid1 / home.
Brian Bauman

Điều đáng nói là tôi đã nhầm lẫn khi sử dụng fakeRAID và phần mềm RAID thay thế cho nhau. Nỗ lực đầu tiên của tôi dựa trên việc sử dụng cuộc đột kích BIOS, nhưng lời khuyên từ chủ đề này đã khuyến nghị rằng tôi nên sử dụng RAID phần mềm Linux, đó là điều mà tôi đã cố gắng thực hiện từ đó. Sẽ thử lại lời khuyên của bạn bằng cách sử dụng BIOS fakeRAID và báo cáo lại.
Brian Bauman

1
Điều này vẫn còn hiệu lực cho 14.04? Tôi không thể kích hoạt cờ khởi động vào 14.04 - vì vậy tôi tự hỏi liệu giải pháp này chỉ khả dụng cho 12.04
Mr.Gosh

2

Một biến thể nhỏ trong công thức của @ root45 đã đưa tôi đến (trên một hệ thống chỉ có Ubuntu). Tôi đã không làm cho phần phân vùng có khả năng khởi động của mảng Raid.

Tôi đã tạo một phân vùng GRUB có khả năng khởi động nhỏ (tôi đã chọn tùy chọn của trình soạn thảo phân vùng: "use is 'bootgrub'" hoặc một cái gì đó tương tự) và không biến nó thành một phần của thiết bị Raid cùng với các phân vùng trao đổi và dữ liệu (/).

Bạn có thể viết lại dữ liệu Grub2 vào phân vùng 'bootgrub' bất cứ lúc nào .... vì thực sự quá trình cài đặt sẽ thay mặt bạn đưa ra lựa chọn sau khi tất cả các gói đã chọn của bạn được cài đặt; hoặc bất cứ lúc nào sau đó nếu bị hỏng khi grub-install /dev/sdathay đổi 'sda' thành thiết bị của phân vùng bạn đã sử dụng trong 'bước một' ở trên để được 'sử dụng làm "bootgrub"'.

Ví dụ, nếu bạn chọn cài đặt nhiều gói trong máy chủ LAMP, có thể sẽ mất một lúc sau khi phân vùng trước khi bạn được hỏi về việc ghi dữ liệu Grub2 vào đĩa cứng ... và mặc định nó được cung cấp tại đó thời gian đã gây ra lỗi cho đến khi tôi cung cấp thiết bị của phân vùng "bootgrub" của mình ... và tất cả đều ổn và tôi có một hệ thống khả thi ngay bây giờ.


1

Tôi không thể giúp cài đặt grub ngay bây giờ nhưng những gì tôi đã làm để chạy RAID là tôi đã làm theo hướng dẫn này:

Cách cài đặt Ubuntu 8.04 với phần mềm RAID1 | HowtoForge - Linux Howtos và Hướng dẫn và cài đặt grub trên mọi phân vùng đột kích (không trao đổi).

Điều này sẽ hữu ích khi một ổ cứng bị lỗi vẫn còn hoạt động.


Khi tôi tạo phân vùng đầu tiên (cho hệ thống tệp), tôi không thể đặt phân vùng đó thành khả năng khởi động. Tùy chọn là có, nhưng nếu tôi chọn nó, nó chỉ nhấp nháy và nói "cờ khởi động: không". Tôi đã tiếp tục và cài đặt nó, nhưng tôi vẫn gặp lỗi tương tự khi cài đặt GRUB.
Kris Harper

Hmm tôi đã không nghe về loại hành vi như vậy trước đây. Cấu hình chính xác bạn đã sử dụng để thiết lập cuộc đột kích của mình là gì.
K. Hendrik

Tôi có ba đĩa, sda là Windows 7. Các đĩa khác, sdb và sdc đều trống khi tôi bắt đầu. Khi tôi đến trình quản lý phân vùng, tôi tạo một phân vùng mới trên mỗi ổ đĩa cho hệ thống tập tin. Hướng dẫn được liên kết của bạn nói để đặt điều này là "khối lượng vật lý cho RAID", thay vì "Hệ thống tập tin Ext4", vì vậy tôi đã làm điều đó. Nhưng điều này có nghĩa là tôi không thể đặt cờ khởi động. Tôi đã thực hiện phần còn lại của trao đổi ổ đĩa và làm tương tự trên các ổ đĩa khác.
Kris Harper

Dường như với tôi bạn không làm theo hướng dẫn tất cả các cách. Sau khi bạn tạo các khối đột kích, bạn phải ánh xạ chúng thành một cuộc đột kích sau đó bạn chỉ định hệ thống tệp, ví dụ ext4 sau đó bạn có thể gán cờ khởi động. Bạn cần tạo 2 phân vùng đột kích trên mỗi ổ đĩa để hoán đổi một cho /.
K. Hendrik

Vâng, cuối cùng tôi đã làm điều đó. Nhưng hướng dẫn của bạn nói "Làm cho phân vùng có thể khởi động" trước khi tạo RAID phần mềm và trình cài đặt sẽ không cho phép tôi làm điều đó. Tôi đã thực hiện cài đặt và tạo RAID, sau đó gán / và trao đổi với hai thiết bị RAID. Nhưng vẫn có lỗi khi nó cố cài đặt GRUB.
Kris Harper
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.