Làm thế nào tôi có thể sửa chữa / cài đặt / cài đặt lại grub?


9

Vì vậy, tôi đã bắt đầu với một ổ cứng 250 GB, ổ đĩa chứng khoán từ EeePC 1015pem mà tôi đang cố gắng biến thành MintBook. Ổ đĩa có thể hoạt động được về mặt vật lý, nhưng tất cả dữ liệu đã bị thu hồi, bao gồm cả HĐH cũ. Vì điều này, tôi đã gắn ổ cứng vào máy tính để bàn của mình và cài đặt Linux Mint 16 Xfce từ một USB trực tiếp được tạo thông qua Unetbootin-585. Đặt 10GB cho swapvà 240GB cho ext4/.

Ổ đĩa hiện từ chối khởi động cho máy tính để bàn hoặc netbook. Cả hai bo mạch chủ đều phát ra âm thanh chính xác của tiếng bíp, vì vậy chúng có vẻ khỏe mạnh và tôi có thể truy cập thành công BIOS trên cả hai hệ thống. Tuy nhiên, điều duy nhất xuất hiện sau khi khởi động máy tính là một dòng lệnh không phản hồi. Không có thông báo lỗi, không có grub hoặc cứu hộ, không có gì.

Có bất cứ điều gì tôi có thể thử ngoài việc định dạng lại và bắt đầu lại không? Làm thế nào tôi có thể cài đặt một bộ tải khởi động có thể khởi động hệ điều hành của tôi?


2
Tại sao bạn cài đặt trên máy tính để bàn? Tại sao không cài đặt trực tiếp trên netbook mục tiêu? 10 GB để trao đổi!? 240 cho Ext4 /? Bạn đã cài đặt grub trên MBR của ổ đĩa chưa? Bạn đang sử dụng UEFI? Bạn có thể chỉ cho chúng tôi sơ đồ phân vùng bạn thiết lập?
terdon

Theo thứ tự:> Tại sao bạn cài đặt trên máy tính để bàn? Tại sao không cài đặt trực tiếp trên netbook mục tiêu? Tôi đã cài đặt từ máy tính để bàn vì netbook đang có phản ứng rối mắt với USB trực tiếp. Tôi có thể khởi động máy tính để bàn từ USB, nhưng khi tôi cố gắng khởi động netbook, nó hiển thị logo Mint nhấp nháy nhanh trong ~ 45 phút trước khi tắt. > 10 GB để trao đổi!? Tôi thấy không có lý do chính đáng không quá; Tôi không có nhu cầu cấp thiết cho không gian đó. > 240 cho Ext4 và /? ... Điều đó có tệ không? Mọi nguồn tôi tìm thấy đều nói "Sử dụng Ext4" và trình cài đặt yêu cầu / cho phân vùng.
the.keV.nc

OK, đủ công bằng (mặc dù điều này có thể là do đã sử dụng unetbootin, tôi đã gặp vấn đề tương tự và nó hoạt động với USB được tạo bằng MultiSystem cũng thấy chủ đề này . Bạn có thể trả lời các câu hỏi khác của tôi không? Bạn có đang sử dụng UEFI không? grub trên ổ đĩa và nếu vậy, ở đâu?
terdon

> Bạn đã cài đặt grub trên MBR của ổ đĩa chưa? Không tôi không có. Tôi nghĩ rằng trình cài đặt đã tự chỉnh sửa MBR. > Bạn đang sử dụng UEFI? Không phải kiến ​​thức của tôi. Tôi có nên > Bạn có thể chỉ cho chúng tôi sơ đồ phân vùng bạn thiết lập không? Cho tôi một giây.
the.keV.nc

1
Cá nhân tôi sẽ cố gắng hơn để cài đặt trực tiếp trên máy tính xách tay. Cài đặt một cái gì đó khác chỉ là thêm một lớp imo phức tạp. Hãy thử một cái gì đó khác với cài đặt USB trực tiếp. Tôi không biết gì về đề xuất của @ terdon, nhưng tôi sẽ thử.
Faheem Mitha

Câu trả lời:


16

Vì vậy, có vẻ như bạn chưa cài đặt bộ tải khởi động (ví dụ grub) trên đĩa. Điều này có nghĩa là mặc dù bạn có một hệ điều hành hợp lệ trên nó, nhưng không có cách nào để khởi động nó và vì vậy bạn không thể sử dụng nó.

Bạn cần gắn ổ cứng vào máy tính đang hoạt động (bạn có thể sử dụng đĩa CD trực tiếp), thiết lập môi trường chroot và cài đặt grub trên nó.

  1. Gắn kết phân vùng bạn sẽ sử dụng như /(Tôi sẽ gọi ổ đĩa /dev/sdb/phân vùng sdb1, tên có thể khác trên hệ thống của bạn, bạn sẽ cần sử dụng đúng tên ) ở đâu đó:

    sudo mount /dev/sdb1 /mnt/foo
    
  2. Ràng buộc các thư mục grubcần có quyền truy cập vào

    sudo mount --bind /dev /mnt/foo/dev && 
    sudo mount --bind /dev/pts /mnt/foo/dev/pts && 
    sudo mount --bind /proc /mnt/foo/proc && 
    sudo mount --bind /sys /mnt/foo/sys
    
  3. Thiết lập chrootmôi trường

    sudo chroot /mnt/foo
    
  4. Tạo tập tin cấu hình của grub:

    sudo grub-mkconfig -o /boot/grub/grub.cfg
    

    Nếu bạn đã cài đặt nhiều hệ điều hành, hãy đảm bảo rằng lệnh trên liệt kê tất cả chúng. Ví dụ:

    $ sudo grub-mkconfig -o /boot/grub/grub.cfg
    Generating grub.cfg ...
    Found background image: /usr/share/images/desktop-base/desktop-grub.png
    Found linux image: /boot/vmlinuz-3.10-2-amd64
    Found initrd image: /boot/initrd.img-3.10-2-amd64
    Found linux image: /boot/vmlinuz-3.2.0-4-amd64
    Found initrd image: /boot/initrd.img-3.2.0-4-amd64
    Found linux image: /boot/vmlinuz-3.2.0-3-amd64
    Found initrd image: /boot/initrd.img-3.2.0-3-amd64
    Found linux image: /boot/vmlinuz-3.2.0-2-amd64
    Found initrd image: /boot/initrd.img-3.2.0-2-amd64
    Found memtest86+ image: /boot/memtest86+.bin
    Found memtest86+ multiboot image: /boot/memtest86+_multiboot.bin
    Found Windows 7 (loader) on /dev/sda2
    done
    
  5. Bây giờ cài đặt grub vào MBR của ổ đĩa của bạn (nhớ thay đổi /dev/sdbthành bất kỳ ổ đĩa nào bạn thực sự muốn cài đặt nó)

    grub-install /dev/sdb
    grub-install --recheck /dev/sdb
    
  6. Thoát chrootvà ngắt kết nối mọi thứ để hệ thống đang chạy của bạn trở lại bình thường:

    exit
    sudo umount /mnt/foo/dev/pts /mnt/foo/dev /mnt/foo/proc /mnt/foo/sys /mnt/foo
    
  7. Hãy thử khởi động từ ổ đĩa, lần này bạn sẽ có một menu grub.


Theo đề nghị trước đó của bạn, tôi đã làm chính xác điều đó bằng cách làm theo các hướng dẫn trên nooblab.com. Va no đa hoạt động! Trên máy tính để bàn của tôi, tôi có thể khởi động vào Mint từ grub mới được tạo. Thật không may, điều đó không giải quyết được vấn đề netbook, vì vậy hãy theo dõi bài viết tiếp theo.
the.keV.nc

@ the.keV.nc ý bạn là gì trước đây? Bạn đã sử dụng một cái gì đó ngoài unetbootin? Nếu bạn làm theo quy trình trong câu trả lời của tôi để giải quyết vấn đề của bạn, vui lòng đánh dấu nó là được chấp nhận để người khác có thể thấy rằng đó là giải pháp phù hợp.
terdon

Tôi có nghĩa là bạn hỏi nếu tôi đã cài đặt grub. Có vẻ như tôi đã không làm vậy, vì vậy tôi đã làm theo hướng dẫn ở đây để cài đặt lại từ khởi động trực tiếp của Mint. Nó hoạt động và bây giờ tôi có thể truy cập Mint 16 bằng cách gắn ổ cứng vào máy tính để bàn của mình. Tuy nhiên, nó vẫn không hoạt động trên netbook của tôi, do đó tiếp theo. (Và cảm ơn vì đã đề cập đến việc đánh dấu nó được chấp nhận.)
the.keV.nc

Từ update-grubtrang người đàn ông - update-grub is a stub for running grub-mkconfig -o /boot/grub/grub.cfg. Vì vậy, không cần phải làm grub-mkconfigupdate-grub. Tôi nghĩ sau đó grub-installlà thời gian chính xác (nếu nó tạo ra sự khác biệt), vì vậy về cơ bản bạn không cần bước 4 (mặc dù bạn có thể chỉ cần chuyển đầu ra sang bước 5 vì nó sẽ giống nhau).
Graeme

1
@Graeme thực sự, tôi đã loại bỏ update-grubhoàn toàn, đó là một thứ Debian và, như bạn đã nói, chỉ là một tập lệnh shell chạy grub-mkconfigsau khi sử dụng set -xđể gỡ lỗi. Không có điểm, grub-mkconfignên là đủ.
terdon
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.