Liên kết để khởi động lại từ Windows sang Ubuntu


10

Tôi có hệ thống khởi động kép tiêu chuẩn: Ubuntu và Windows. Grub được cấu hình để khởi chạy Windows theo mặc định.

Có cách nào để tạo một số loại liên kết trong Windows, đó là:

  1. khởi động lại Windows
  2. khởi động vào Ubuntu

Nghi ngờ có một cách
Tim

1
Có thể, nhưng không phải thông qua cách dễ dàng .... Đừng biết về khả năng của điều này: sourceforge.net/projects/grub2win/files hãy thử nếu bạn muốn hoặc de.mcbf.net/david/grubchoosedefault và bạn sẽ 100 % cần ext2fsd.com này . Cũng như bạn có thể muốn đọc linuxquestions.org/questions/linux-software-2/ sâu
RiddleMe This

1
@Tim nơi nào có di chúc (hoặc hàng tấn tiền) có một cách: D
Wilf

Câu trả lời:


8

Bạn không cần phải sửa đổi /boot/grub/grub.cfgnhư Michal Hagara đã đề xuất. Điều này có thể phá vỡ Ubuntu nếu bạn cài đặt kernel mới và không cập nhật e:\home\user\Grubshift\ubuntudefault\grub.cfg.

Tất cả bạn cần làm là tạo / sao chép một tệp /boot/grub/grubenvcó nội dung sau

# GRUB Environment Block
next_entry=2
###########################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################

Đâu next_entrylà dòng của mục menu grub tiếp theo sẽ được bắt đầu vào lần tới (bắt đầu từ số không). Vì vậy, next_entry=2sẽ là dòng thứ 3.

Grub sẽ tự động xóa giá trị sau khi khởi động để lần sau bạn sẽ khởi động lại hệ điều hành mặc định của mình.

Đây là cách làm grub-rebootviệc.


Đây là giải pháp thuận tiện hơn nhiều, cảm ơn bạn!
Dmitriy Berkutov

Không biết về chức năng đó :) ... Như bạn có thể thấy, tôi đã chỉ ra rằng, việc gây rối với grub.cfg không phải là khôn ngoan nhất ...
RiddleMe This

bạn có chắc chắn rằng 987 lần '#' là bắt buộc không? Tôi nghĩ 462 lần là đủ :-D
Jounathaen

2

Đây là những gì tôi có trong tâm trí:

  • http://www.ext2fsd.com/ (cần có khả năng ghi vào phân vùng EXT, "gắn kết" và gán chữ khi khởi động)
  • sau đó tôi sẽ chuẩn bị tệp GRUB đã sửa đổi, trong đó Ubuntu được đặt là Hệ điều hành mặc định (tệp này cũng sẽ được lưu trữ trên phân vùng Linux)
  • Tập lệnh Windows BATCH (được thực thi bằng phím tắt mong muốn của bạn) sẽ:
    1. Sao lưu OLD GRUB (Windows là mặc định)
    2. sao chép GRUB đã sửa đổi (mặc định là Ubuntu) qua OLD (Mặc định là Windows)
    3. Khởi động lại PC
  • Tập lệnh Linux BASH sẽ sửa đổi và cập nhật GRUB khi khởi động (hoặc khởi động lại) để đặt lại Windows làm HĐH mặc định

Tôi có thể hoàn toàn sai với cách tiếp cận này, nhưng tôi không thể hiểu, tại sao nó không hiệu quả.

BIÊN TẬP:

Và cũng có: http://www.paragon-drivers.com/extfs-windows/ mà tôi chưa bao giờ thử.


PHÁT TRIỂN

1. Cắt ngắn để khởi động lại Windows và khởi động Ubuntu

OK, mặt trái của vấn đề này là chúng ta sẽ phải sửa đổi trực tiếp grub.cfg (/boot/grub/grub.cfg) (khuyên bạn nên chống lại - https://askubfox.com/a/437341 / 402801), bởi vì có không có cách nào để chạy update-grubtừ Windows ... nếu bạn có thể sống với điều đó đọc thêm.

  • Như tôi đã đề cập trước đó, hãy cài đặt Ext2Fsd , làm cho nó tự động gắn kết và gán thư khi khởi động
  • Tôi đã tạo "Thư mục sao lưu" của mình /home/user/Grubshiftvới 3 thư mục con: sao lưu (để sao lưu thực tế /boot/grub/grub.cfg), ubuntudefault (để lưu trữ grub.cfg với Ubuntu làm mặc định), windowsdefault (bạn đã có ý tưởng)

Sau khi cài đặt, Ubuntu được đặt làm mặc định, vì vậy hãy sao chép nó grub.cfgvào thư mục mong muốn của bạn. Tôi đã có cấu hình "Windows là mặc định" bằng cách sửa đổi GRUB thông qua tùy biến grub (theo ý kiến ​​của tôi an toàn hơn), sau đó sao chép Windows grub.cfgvào thư mục mong muốn của bạn

Sau đó, mở notepad và chèn:

copy e:\boot\grub\grub.cfg /y e:\home\user\Grubshift\backup
copy e:\home\user\Grubshift\ubuntudefault\grub.cfg /y e:\boot\grub
shutdown /r /t 0

/y- tùy chọn copylệnh, bỏ qua lời nhắc để xác nhận bạn muốn ghi đè lên tệp đích hiện có

/r /t 0 - tùy chọn tắt máy, 1. có nghĩa là khởi động lại, 2. có nghĩa là ngay lập tức, không có thông báo xấu xuất hiện

Sửa đổi đường dẫn cho phù hợp !!!

  • Lưu tệp đó (Tôi đã sử dụng UTF-8) và thay đổi tiện ích mở rộng thành *.bat
  • Tạo lối tắt cho máy tính để bàn shift.bat, nhấp chuột phải vào shorctur -> thuộc tính -> tab phím tắt -> Chạy: thu nhỏ (sẽ thoát khỏi CMD bật lên)

Tôi đã thử điều này ít nhất 8 lần, đặt Windows làm mặc định với grub-customizer...

Tôi không nói nó an toàn, nhưng HEY!, Chúng tôi đang làm rối tung bộ tải khởi động ... điều đó không an toàn

Khi nó hoạt động hoàn toàn, chúng ta có thể loại bỏ hoàn toàn menu GRUB, vì nó sẽ luôn khởi động đúng hệ điều hành ...


Logic có vẻ tốt, đáng buồn là ext2fsd không hỗ trợ đầy đủ ext4.
Dmitriy Berkutov

1
Ngoài ra, nếu kịch bản bị hỏng (như thể Windows sẽ làm điều đó :) máy tính sẽ không khởi động - mặc dù vậy, ý tưởng tốt. Một ví dụ điển hình là nếu tập lệnh Linux chạy khi khởi động, nhưng máy tính bị tắt trong khi khởi động và chỉ thực thi tập lệnh đó, thì ....
Wilf

0

Đây là cách tôi đã thiết lập cấu hình của mình:

Để tổng hợp: Hệ thống khởi động lại mặc định để hoạt động lần cuối, khởi động lại từ windows sang linux và ngược lại bằng cách sử dụng một tập lệnh đơn giản.

Thiết lập grub để luôn khởi động được chọn lần cuối:

Trong linux:

  • nhập GRUB_DEFAULT=savedGRUB_SAVEDEFAULT=truetrong / etc / default / grub
  • cập nhật cấu hình bằng cách sử dụng sudo update-grub

Cài đặt trình điều khiển Paragons extfs

xem http://www.paragon-drivers.com/extfs-windows/

Tạo kịch bản khởi động lại:

Nếu / boot / grub / grubenv không tồn tại, hãy tạo nó bằng câu trả lời từ Germar

Batch-file để khởi động lại từ windows sang linux:

@echo off
"C:\Program Files (x86)\Paragon Software\ExtFS for Windows\extmounter" /mount disk1 L:

:CheckForFile
IF EXIST "L:\boot\grub\grubenv" GOTO FoundIt
GOTO CheckForFile
:FoundIt

sed -i -e '/next_entry/c\next_entry=0' L:/boot/grub/grubenv
"C:\Program Files (x86)\Paragon Software\ExtFS for Windows\extmounter" /umount disk1 L:
echo press enter to reboot
pause
shutdown -r -t 00
  • thay thế /mount disk1 L:bằng một cái gì đó cụ thể cho hệ thống của bạn. Bạn có thể tìm thấy các đĩa có sẵn bằng cách sử dụng extmounter /listlệnh và ký tự ổ đĩa. Ngoài ra, L:không phải đã được thực hiện.
  • lưu nó như vd reboot-linux.bat
  • bạn có thể nhấp chuột phải vào bat và chọn run as administratorđể thực hiện nó

Shell script để khởi động lại từ linux sang windows:

sudo sed -i -e '/next_entry/c\next_entry=2' /boot/grub/grubenv
sudo reboot
  • thay thế next_entry=2với bất cứ điều gì cửa sổ của bạn là.
  • lưu nó như ví dụ ~/reboot_windowsvà đánh dấu là thực thi:chmod +x ~/reboot_windows
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.