ลิงก์เพื่อรีสตาร์ทจาก Windows ไปยัง Ubuntu


10

ฉันมีระบบดูอัลบูตมาตรฐาน: Ubuntu และ Windows Grub ได้รับการกำหนดค่าให้เปิดใช้งาน Windows เป็นค่าเริ่มต้น

มีวิธีการสร้างลิงค์บางประเภทใน Windows หรือไม่:

  1. รีสตาร์ท Windows
  2. บูตเข้าสู่ Ubuntu

ไม่ต้องสงสัยเลยว่ามีวิธี
ทิม

1
เป็นไปได้ แต่ไม่ใช่วิธีง่ายๆ .... ไม่รู้เกี่ยวกับความสามารถของสิ่งนี้: sourceforge.net/projects/grub2win/files ลองใช้ถ้าคุณต้องการหรือde.mcbf.net/david/grubchoosedefault และคุณจะได้ 100 % ต้องนี้ext2fsd.com เช่นกันคุณอาจต้องการอ่านlinuxquestions.org/questions/linux-software-2/
RiddleMeThis

1
@Tim ที่มีความประสงค์ (หรือเงินตัน) มีวิธีคือ: D
Wilf

คำตอบ:


8

คุณไม่จำเป็นต้องแก้ไข/boot/grub/grub.cfgเหมือนที่แนะนำโดย Michal Hagara ซึ่งอาจทำลาย Ubuntu หากคุณติดตั้ง kernel e:\home\user\Grubshift\ubuntudefault\grub.cfgใหม่และไม่ปรับปรุง

สิ่งที่คุณต้องทำคือการสร้าง / คัดลอกไฟล์ที่/boot/grub/grubenvมีเนื้อหาดังต่อไปนี้

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

ไหนnext_entryเป็นสายของรายการเมนูด้วงต่อไปที่ควรจะเริ่มต้นในครั้งต่อไป (เริ่มต้นจากศูนย์) ดังนั้นnext_entry=2จะเป็นเส้นที่ 3

ด้วงจะลบค่าโดยอัตโนมัติหลังจากการบู๊ตดังนั้นครั้งต่อไปที่คุณจะบูทระบบปฏิบัติการเริ่มต้นของคุณอีกครั้ง

นี่คือวิธีการgrub-rebootทำงาน


นี่คือวิธีการแก้ปัญหามากสะดวกมากขึ้นขอขอบคุณ!
Dmitriy Berkutov

ไม่ทราบเกี่ยวกับฟังก์ชั่นนั้น
:)

คุณแน่ใจหรือว่าต้องการ 987 ครั้ง '#' ฉันคิดว่า 462 ครั้งก็เพียงพอแล้ว :-D
Jounathaen

2

นี่คือสิ่งที่ฉันมีในใจ:

  • http://www.ext2fsd.com/ (ควรมีความสามารถในการเขียนไปยังพาร์ติชัน EXT "การติดตั้ง" และการกำหนดตัวอักษรเมื่อบูต)
  • จากนั้นฉันจะเตรียมไฟล์ GRUB ที่แก้ไขซึ่ง Ubuntu ตั้งค่าเป็นระบบปฏิบัติการเริ่มต้น (ไฟล์นี้จะถูกเก็บไว้ในพาร์ติชัน Linux ด้วย)
  • สคริปต์ Windows BATCH (ดำเนินการโดยทางลัดที่คุณต้องการ) ซึ่งจะ:
    1. สำรอง OLD GRUB (Windows เป็นค่าเริ่มต้น)
    2. คัดลอกแก้ไข GRUB (ค่าเริ่มต้นคือ Ubuntu) มากกว่า OLD หนึ่ง (ค่าเริ่มต้นคือ Windows)
    3. รีสตาร์ทพีซี
  • สคริปต์ Linux BASH ซึ่งจะแก้ไขและอัปเดต GRUB เมื่อเริ่มต้น (หรือรีบูต) เพื่อตั้งค่า Windows กลับเป็นระบบปฏิบัติการเริ่มต้น

ฉันผิดอย่างสิ้นเชิงกับวิธีการนี้ แต่ฉันมองไม่เห็นทำไมมันไม่ทำงาน

แก้ไข:

และยังมี: http://www.paragon-drivers.com/extfs-windows/ซึ่งฉันไม่เคยลอง


ความคืบหน้า

1.Shortcut เพื่อรีสตาร์ท Windows และบูต Ubuntu

ตกลงลงด้านข้างของนี้คือเราจะมีการปรับเปลี่ยน grub.cfg (/boot/grub/grub.cfg) โดยตรง (มันจะให้คำแนะนำกับ - https://askubuntu.com/a/437341/402801),becauseมี ไม่มีทางที่จะเรียกใช้update-grubจาก Windows ... หากคุณสามารถใช้ชีวิตกับการอ่านเพิ่มเติมได้

  • ดังที่ฉันได้กล่าวไว้ก่อนหน้านี้ให้ติดตั้งExt2Fsdทำให้เมานต์อัตโนมัติและกำหนดตัวอักษรเมื่อเริ่มต้น
  • ฉันได้สร้าง "โฟลเดอร์สำรอง" ของฉันใน/home/user/Grubshift3 ไดเรกทอรีย่อย: สำรองข้อมูล (สำหรับการสำรองข้อมูลจริง /boot/grub/grub.cfg), ubuntudefault (สำหรับการจัดเก็บ grub.cfg กับ Ubuntu เป็นค่าเริ่มต้น) windowsdefault (คุณมี ความคิด)

หลังจากติดตั้งแล้ว Ubuntu จะถูกตั้งเป็นค่าเริ่มต้นดังนั้นคัดลอกgrub.cfgไปยังไดเรกทอรีที่คุณต้องการ ฉันได้รับ "Windows เป็นค่าเริ่มต้น" โดยการปรับเปลี่ยน GRUB ผ่าน grub-customizer (ปลอดภัยกว่าในความคิดของฉัน) หลังจากนั้นคัดลอก Windows grub.cfgไปยังไดเรกทอรีที่คุณต้องการ

หลังจากนั้นให้เปิดแผ่นจดบันทึกและใส่:

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- ตัวเลือกของcopyคำสั่งยับยั้งการพร้อมท์เพื่อยืนยันว่าคุณต้องการเขียนทับไฟล์ปลายทางที่มีอยู่

/r /t 0 - ตัวเลือกของการปิดระบบ 1. หมายถึงการรีบูต 2. หมายถึงทันทีโดยไม่มีข้อความที่น่าเกลียดปรากฏขึ้น

ปรับเปลี่ยนเส้นทางตาม !!!

  • บันทึกไฟล์นั้น (ฉันใช้ UTF-8) แล้วเปลี่ยนนามสกุลเป็น *.bat
  • สร้างทางลัดบนเดสก์ท็อปสำหรับshift.batคลิกขวาบน shorctur -> Properties -> แท็บทางลัด -> Run: ย่อเล็กสุด (ที่จะกำจัด CMD popping up)

ฉันได้พยายามนี้อย่างน้อย 8 ครั้ง, การตั้งค่าของ Windows เป็นค่าเริ่มต้นด้วยgrub-customizer...

ฉันไม่ได้บอกว่ามันปลอดภัย แต่ HEY! เรายุ่งกับ bootloader ... นั่นไม่ปลอดภัย

เมื่อมันทำงานอย่างสมบูรณ์เราสามารถกำจัดเมนูด้วงอย่างสมบูรณ์เพราะมันจะบูตเข้าสู่ระบบปฏิบัติการที่เหมาะสม ...


ตรรกะหน้าตาดีเศร้า ext2fsd ไม่สนับสนุน ext4
Dmitriy Berkutov

1
นอกจากนี้หากสคริปต์ mucks ขึ้น (เช่นถ้า Windows จะทำเช่นนั้น :) คอมพิวเตอร์จะไม่บูต - ความคิดที่ดีแม้ว่า ตัวอย่างที่ดีคือถ้าสคริปต์ลินุกซ์วิ่งในการบูต แต่คอมพิวเตอร์จะปิดตัวลงในขณะที่บูตและเพียงแค่รันสคริปต์ที่แล้ว ....
วิลฟ์

0

นี่คือวิธีที่ฉันตั้งค่าการกำหนดค่าของฉัน:

เพื่อรวมขึ้น: ระบบเรียบเริ่มต้นการใช้งานที่ผ่านมาเริ่มต้นใหม่จากหน้าต่างลินุกซ์และในทางกลับกันการใช้สคริปต์ง่าย

ตั้งค่าด้วงเพื่อบู๊ตที่เลือกไว้ล่าสุดเสมอ:

ภายใต้ linux:

  • ป้อนGRUB_DEFAULT=savedและGRUB_SAVEDEFAULT=trueใน / etc / default / grub
  • อัปเดตการกำหนดค่าโดยใช้ sudo update-grub

ติดตั้งไดรเวอร์ Extag ของ Paragons

ดูhttp://www.paragon-drivers.com/extfs-windows/

สร้างสคริปต์รีบูต:

หาก / boot / grub / grubenv ไม่มีอยู่ให้สร้างโดยใช้คำตอบจาก Germar

Batch-file สำหรับการรีบูทจาก windows ไปยัง 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
  • แทนที่/mount disk1 L:ด้วยสิ่งที่เฉพาะเจาะจงกับระบบของคุณ คุณสามารถค้นหาดิสก์ที่มีอยู่ได้โดยใช้extmounter /listคำสั่งและอักษรระบุไดรฟ์ นอกจากนี้L:จะต้องไม่ถูกนำมาใช้แล้ว
  • บันทึกเป็นเช่น reboot-linux.bat
  • คุณสามารถคลิกขวาที่ค้างคาวและเลือกที่run as administratorจะรัน

เชลล์สคริปต์สำหรับรีบูตจาก linux ไปยัง windows:

sudo sed -i -e '/next_entry/c\next_entry=2' /boot/grub/grubenv
sudo reboot
  • แทนที่next_entry=2กับสิ่งที่เข้า windows ของคุณเป็น
  • บันทึกเป็นเช่น~/reboot_windowsและทำเครื่องหมายว่าปฏิบัติการ:chmod +x ~/reboot_windows
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.