Tautan untuk memulai kembali dari Windows ke Ubuntu

10

Saya memiliki sistem dual-boot standar: Ubuntu dan Windows. Grub dikonfigurasi untuk meluncurkan Windows secara default.

Apakah ada cara untuk membuat semacam tautan di Windows, yang akan:

  1. restart Windows
  2. boot ke Ubuntu
Dmitriy Berkutov
sumber
Keraguan ada jalan
Tim
1
Itu mungkin, tetapi tidak dengan cara yang mudah .... Tidak tahu tentang kemampuan ini: sourceforge.net/projects/grub2win/files mencobanya jika Anda mau atau de.mcbf.net/david/grubchoosedefault dan Anda akan 100 % membutuhkan ext2fsd.com ini . Anda juga mungkin ingin membaca linuxquestions.org/questions/linux-software-2/…
RiddleMeThis
1
@Tim di mana ada kemauan (atau berton-ton uang) ada cara: D
Wilf

Jawaban:

8

Anda tidak perlu memodifikasi /boot/grub/grub.cfgseperti yang disarankan Michal Hagara. Ini dapat merusak Ubuntu jika Anda memasang kernel baru dan tidak memperbarui e:\home\user\Grubshift\ubuntudefault\grub.cfg.

Yang perlu Anda lakukan adalah membuat / menyalin file /boot/grub/grubenvdengan konten berikut

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

Di mana next_entrybaris entri menu grub berikutnya yang harus dimulai waktu berikutnya (mulai dari nol). Jadi next_entry=2akan menjadi baris ke-3.

Grub akan secara otomatis menghapus nilai setelah boot sehingga lain kali Anda akan boot ke OS default Anda lagi.

Beginilah cara grub-rebootkerjanya.

Germar
sumber
Ini adalah solusi yang jauh lebih nyaman, terima kasih!
Dmitriy Berkutov
Tidak tahu tentang fungsionalitas itu
:)
Anda yakin, bahwa 987 kali '#' diperlukan? Saya pikir 462 kali sudah cukup :-D
Jounathaen
2

Inilah yang saya pikirkan:

  • http://www.ext2fsd.com/ (harus mampu menulis ke partisi EXT, "mount" dan menetapkan huruf saat boot)
  • maka saya akan menyiapkan file GRUB yang dimodifikasi, di mana Ubuntu ditetapkan sebagai OS Default (yang ini akan disimpan pada partisi Linux juga)
  • Skrip BATCH Windows (dijalankan dengan pintasan yang Anda inginkan) yang akan:
    1. Backup OLD GRUB (Windows sebagai default)
    2. salin GRUB yang dimodifikasi (standarnya adalah Ubuntu) di atas TUA (Standar adalah Windows)
    3. Mulai ulang PC
  • Skrip BASH Linux yang akan memodifikasi dan memperbarui GRUB saat startup (atau reboot) untuk mengatur kembali Windows sebagai OS default

Saya bisa sepenuhnya salah dengan pendekatan ini, tetapi saya tidak bisa melihat, mengapa itu tidak berhasil.

EDIT:

Dan juga ada: http://www.paragon-drivers.com/extfs-windows/ yang belum pernah saya coba.


KEMAJUAN

1. Shortcut untuk me-restart Windows dan mem-boot Ubuntu

OK, sisi buruknya adalah kita harus memodifikasi grub.cfg (/boot/grub/grub.cfg) secara langsung (disarankan untuk - https://askubuntu.com/a/437341/402801), karena ada tidak ada cara untuk menjalankan update-grubdari Windows ... jika Anda dapat hidup dengan membaca lebih lanjut.

  • Seperti yang saya sebutkan sebelumnya, instal Ext2Fsd , buat secara otomatis mount dan berikan surat pada startup
  • Saya telah membuat "folder Cadangan" /home/user/Grubshiftdengan 3 sub direktori: cadangan (untuk mencadangkan /boot/grub/grub.cfg) yang sebenarnya, ubuntudefault (untuk menyimpan grub.cfg dengan Ubuntu sebagai default), windowsdefault (Anda punya ide)

Setelah instalasi, Ubuntu ditetapkan sebagai default, jadi salin grub.cfgke direktori yang Anda inginkan. Saya mendapat konfigurasi "Windows as default" dengan memodifikasi GRUB melalui grub-customizer (menurut saya lebih aman), setelah itu salin Windows grub.cfgke direktori yang Anda inginkan

Setelah itu, buka notepad dan masukkan:

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- Opsi copyperintah, menekan prompt untuk mengkonfirmasi Anda ingin menimpa file tujuan yang ada

/r /t 0 - opsi shutdown, 1. berarti reboot, 2. berarti segera, tanpa pesan-pesan jelek bermunculan

Ubah jalurnya sesuai !!!

  • Simpan file itu (saya telah menggunakan UTF-8) dan ubah ekstensi menjadi *.bat
  • Buat pintasan Desktop untuk shift.bat, klik kanan pada shorctur -> properties -> tab shortcut -> Run: diminimalkan (itu akan menghilangkan CMD yang muncul)

Saya sudah mencoba ini setidaknya 8 kali, menetapkan Windows sebagai default dengan grub-customizer...

Saya tidak mengatakan itu aman, tapi HEY !, kami mengacaukan bootloader ... itu tidak aman

Ketika sepenuhnya berfungsi, kita dapat menyingkirkan menu GRUB sepenuhnya, karena itu akan selalu boot ke OS yang benar ...

RiddleMeThis
sumber
Logikanya terlihat bagus, sayangnya ext2fsd tidak sepenuhnya mendukung ext4.
Dmitriy Berkutov
1
Juga jika script mucks up (seolah-olah Windows akan melakukan itu :) komputer tidak akan boot - ide bagus. Contoh yang baik adalah jika skrip Linux berjalan saat boot, tetapi komputer dimatikan saat booting dan hanya menjalankan skrip itu, maka ....
Wilf
0

Inilah cara saya mengatur konfigurasi saya:

Singkatnya: Sistem reboot default ke aktif terakhir, reboot dari windows ke linux dan sebaliknya menggunakan skrip sederhana.

Siapkan grub untuk selalu mem-boot yang terakhir dipilih:

Di bawah linux:

  • masukkan GRUB_DEFAULT=saveddan GRUB_SAVEDEFAULT=truedi / etc / default / grub
  • perbarui config menggunakan sudo update-grub

Instal driver Paragons extfs

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

Buat skrip reboot:

Jika / boot / grub / grubenv tidak ada, buat dengan menggunakan jawaban dari Germar

File batch untuk reboot dari windows ke 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
  • ganti /mount disk1 L:dengan sesuatu yang spesifik untuk sistem Anda. Anda dapat menemukan disk yang tersedia menggunakan extmounter /listperintah dan huruf drive. Juga, L:tidak harus sudah diambil.
  • simpan sebagai contoh reboot-linux.bat
  • Anda dapat mengklik kanan pada bat dan memilih run as administratoruntuk menjalankannya

Script shell untuk reboot dari linux ke windows:

sudo sed -i -e '/next_entry/c\next_entry=2' /boot/grub/grubenv
sudo reboot
  • ganti next_entry=2dengan apa pun entri windows Anda.
  • simpan sebagai eg ~/reboot_windowsdan tandai sebagai executable:chmod +x ~/reboot_windows
andreas dominik
sumber