Skenario:
- Saya adalah pengembang perangkat lunak lepas yang sebagian besar berkembang di Linux (Python, MySQL, MongoDB, dll.)
- Komputer kerja saya adalah laptop Lenovo dengan prosesor i7 dan RAM 8GB. Big HD + 128 GB SSD. OSnya adalah Ubuntu Linux
Saya mungkin mendapatkan beberapa proyek .NET / C # dalam waktu dekat, oleh karena itu saya mencari beberapa panduan tentang hal berikut:
- Haruskah saya menggunakan solusi dual-boot atau menggunakan mesin virtual untuk Windows?
- Jika saya menggunakan dual-boot: Apa urutan instalasi yang disarankan? Windows dulu atau Linux dulu? (Saya sedang mencari instal ulang Ubuntu lengkap untuk mendapatkan LTS terbaru sehingga saya dapat mulai menginstal semuanya segar)
- Jika saya menggunakan VM: Bagaimana cara VMWare Workstation dan VirtualBox membandingkan kinerja?
- Pengaturan impian saya mungkin adalah sebagai berikut:
- Boot ganda
- Tetapi jika saya boot ke Linux, saya bisa mem-boot partisi Windows sebagai mesin virtual. Apakah ini mungkin?
- Dan / atau: Jika saya boot ke Windows, saya bisa mem-boot partisi Linux sebagai mesin virtual. Apakah ini mungkin?
linux
windows
boot
virtualization
visual-studio
kode kode
sumber
sumber
Jawaban:
Orang lain telah membahas sisa pertanyaan Anda, tetapi saya melihat mereka membiarkan bagian ini tidak terselesaikan:
Jawaban singkatnya adalah ya.
Jawaban panjangnya adalah ya, tetapi dengan sejumlah peringatan dan implikasi.
Hingga Januari ini (ketika kami mendapat mesin-mesin baru), komputer kerja saya telah dikonfigurasikan ke dual boot, atau menggunakan Linux sebagai host untuk Windows 7 VM yang langsung mengakses partisi Windows. Saya tidak pernah repot mencoba menggunakan Windows sebagai host untuk Linux VM disk langsung, tetapi juga mungkin. Komputer saya menggunakan warisan BIOS / MBR, saya tidak yakin bagaimana melakukan ini jika Anda menggunakan UEFI / GPT.
Saya memilih VirtualBox untuk melakukannya, tetapi dari apa yang saya pahami seharusnya juga dimungkinkan dengan VMWare.
Kinerja sangat dapat diterima untuk tujuan saya; Saya memberi Windows 1 inti CPU, memori 2GB, 1 monitor, dan saya tidak ingat berapa banyak memori video. VM mampu memutar video dan bekerja dengan aplikasi Java GUI saya dan banyak situs web yang kaya konten.
Saya akan membahas keanehan sebelum masuk ke detail:
Beralih antara Native-boot dan mode-VM Windows 7 memicu peringatan Windows bahwa salinan Windows saya tidak asli. Tergantung pada lisensi Anda, MS dapat menganggap ini sebagai pelanggaran lisensi dengan menginstal pada dua perangkat keras. Saya juga perlu "memperbaiki" instalasi saya karena banyak driver tingkat rendah berbeda untuk perangkat keras nyata dan "perangkat keras" VM.
Setiap kali Pembaruan Windows berjalan (atau operasi I / O disk besar lainnya), hard disk saya hancur karena beban dan semua yang ada di kedua mesin menjadi lambat. Memindahkan setiap OS ke hard drive khusus sendiri telah memperbaiki masalah ini dengan baik; menggunakan solid state drive juga akan menyelesaikan masalah.
Untuk beberapa alasan, Ubuntu kadang-kadang tidak suka bangun setelah ditangguhkan (mungkin 20% dari waktu), yang setara dengan mematikan daya keras untuk VM Windows saya. Akibatnya saya akan mematikan VM setiap malam sebelum menangguhkan tuan rumah.
Saya harus sangat berhati-hati untuk tidak pernah mencoba me-mount partisi Windows di Linux untuk mencegah kemungkinan kerusakan / kehilangan data. Saya dengan cepat menambahkan aturan udev untuk mencegah hal ini.
Baiklah, jika itu tidak terdengar terlalu buruk, berikut detailnya: Referensi paling berguna yang saya temukan untuk melakukannya adalah blog ini: http://www.rajatarya.com/website/taming-windows-virtualbox-vm . Berikut langkah-langkah yang dirangkum:
RTFM. Sangat. Anda akan menggunakan perintah yang dapat merusak sistem file Anda jika melakukan kesalahan.
Temukan partisi.
Ubah izin untuk partisi Anda (atau Anda dapat mem-boot VM menggunakan sudo, tetapi kemudian file apa pun yang dibuat pada drive bersama host / tamu akan dimiliki oleh root).
Buat MBR agar tamu tidak mencoba menggunakan bootloader normal.
Gunakan perintah internal VirtualBox untuk membuat gambar vmdk untuk digunakan untuk VM.
Buat VM. Apakah itu menggunakan vmdk yang baru Anda buat
Boot dan perbaiki instalasi Anda.
Saya berharap menemukan banyak masalah yang sama menggunakan host Windows, tetapi Linux mungkin akan menangani perangkat keras yang berbeda dengan lebih elegan. Akan lebih mudah menggunakan partisi shared / home (dan mungkin / opt) dan hanya memiliki partisi root yang berbeda untuk mesin native vs guest.
sumber
Saya melakukan yang sebaliknya secara umum, yaitu sistem rumah saya adalah mesin Windows 7 dan saya menjalankan berbagai rasa Linux sebagai VM. Menjadi sebagai Linux dapat berfungsi dengan sangat baik dengan sumber daya terbatas, ini bekerja untuk saya walaupun saya hanya memiliki 4GB RAM (ingat ini berarti saya menjalankan satu VM pada satu waktu dan biasanya memberikan 1024MB RAM paling banyak untuk menjaga banyak untuk Windows).
8GB RAM Anda seharusnya memungkinkan Anda menjalankan VM Windows dengan mudah. Saya pikir satu-satunya pertanyaan besar di sini adalah jenis hasil yang Anda ingin ukur untuk perkembangan Anda. Saya akan ragu untuk mengandalkan metrik kinerja / throughput untuk item yang Anda kembangkan dalam VM (kecuali jika itu akan digunakan untuk lingkungan VM yang sama dengan spesifikasi yang sama di seluruh papan). Kalau tidak, Anda harus baik untuk pergi.
Dan untuk menyentuh komentar di utas lain, tentu saja jika Anda akan mengetahui bahwa Anda akan mengembangkan aplikasi yang membutuhkan sejumlah besar sumber daya, maka mengoptimalkan untuk tujuan itu akan menjadi cara untuk pergi (jadi dalam kasus itu, dual boot tentu akan lebih baik menggunakan VM).
Saya telah menggunakan VMWare dan VirtualBox, dan saya belum melihat kinerja nyata yang menggunakan keduanya. Saya belum pergi sejauh benchmark dalam VM, saya hanya tidak melihat adanya dampak negatif dari kedua platform (Masih menggunakan VirtualBox di rumah, dan VMware di tempat kerja).
sumber
Hal ini tergantung pada bagaimana Anda bekerja dan bagaimana Anda ingin os untuk merasa .
Dual booting artinya memulai ulang dan mem-boot jika Anda ingin mengubah OS, ini membutuhkan waktu . Ketika Anda freelance, apakah Anda bekerja 8 jam penuh dengan sebuah proyek tanpa melakukan hal-hal "Anda" ("barang-barang Anda" adalah Anda di boot linux Anda).
Jika Anda bekerja 8 jam berturut-turut di Windows, dan kemudian menghabiskan sisa hari itu di Linux, gunakan dual boot. Jika Anda bekerja 30 menit dan kemudian ingin melakukan sesuatu di Linux, beralih ke bekerja lagi selama 3 jam, lalu ke linux lagi dll. Lalu saya akan memilih VM.
Jika Anda tidak yakin lakukan keduanya. Dual boot dan ketika di windows menjalankan VM. Anda akan melihat perbedaan yang jelas antara keduanya dan Anda AKAN lebih suka satu dari yang lain.
Saya pribadi hanya menggunakan vm untuk menguji distro linux baru dan kadang-kadang server palsu ketika devloping (bisa mengacaukan vm sangat berharga dan jauh lebih mudah melakukannya di hard drive Anda yang sebenarnya.). VM juga ketinggalan dan terasa kurang responsif, saya perlu os saya untuk merasa responsif dan lancar, VM kurang di daerah ini. Jadi saya lebih suka dual boot.
Ada juga masalah ketika harus berbagi file. Lebih banyak pekerjaan untuk dibagikan pada dual boot (bayangkan mengedit file di boot windows kemudian boot di linux hanya untuk menyadari bahwa Anda melewatkan satu baris dan harus reboot ke windows, mimpi buruk!) Di mana pada vm Anda dapat menggunakan NFS atau samba untuk berbagi file antar os secara real time, tanpa masalah.
Juga tentang ram tidak cukup seperti kata Aboba, saya katakan sampah. Saya menjalankan 4GB dan VM di Windows8. Ingat juga tentang sumber daya apa yang dibutuhkan proyek Anda.
sumber
Atau bagaimana dengan ini. Anda tertarik dengan .net / C #, jadi mengapa tidak menggunakan Mono saja di linux? Sangat lintas platform dalam arti java.
sumber
Secara pribadi saya telah memiliki banyak pengalaman positif dalam mengambil jalan pulang, gunakan hypervisor seperti Xen Anda kemudian dapat memiliki Linux dan Windows berjalan di bawah hypervisor mikro-kernel ringan, tidak mengambil hit kinerja yang signifikan dan konfigurasi ini jauh lebih fleksibel , memungkinkan Anda untuk dengan mudah merealokasi sumber daya di antara keduanya kapan saja.
Ini hampir cocok dengan pengaturan impian Anda yang disebutkan ketika Anda dapat mem-boot atau mematikan kedua OS secara independen kapan saja untuk mengalokasikan kembali sumber daya ke yang lain dan Anda tidak akan dapat melihat adanya hit kinerja (pada kenyataannya mungkin sebagian kecil dari% lebih lambat) ada beberapa kasus tetapi Anda tidak akan melihat ini kecuali Anda membuat tolok ukur khusus untuk menguji ini).
Satu-satunya masalah adalah fitur tertentu memerlukan CPU Anda untuk mendukung visualisasi namun setiap i7 melakukannya (afaik) jadi ini seharusnya tidak menjadi masalah bagi Anda.
EDIT:
Xen mengandung microkernel sendiri, Debian tidak diperlukan untuk menjalankannya, satu-satunya alasan seseorang akan membutuhkan sistem linux adalah mengkonfigurasi ulang Xen karena program konfigurasi adalah program linux yang Anda jalankan pada salah satu tamu (tamu adalah istilah yang digunakan Xen berarti VM). Anda dapat memiliki hanya linux, hanya windows atau keduanya yang berjalan kapan saja, tetapi Anda membutuhkan linux untuk dapat mengkonfigurasi pengaturan Xen sehingga disarankan untuk membiarkan linux kecil berjalan di latar belakang untuk melakukan hal ini ketika diperlukan.
Perangkat keras dapat ditangani dalam beberapa cara, Xen menyediakan satu set perangkat virtual yang memungkinkan perangkat keras untuk digunakan oleh beberapa tamu sekaligus seperti kartu jaringan dan kartu suara dll.
Untuk perangkat keras yang tidak dapat bekerja dengan cara ini atau hanya diperlukan oleh satu tamu pada suatu waktu xen memiliki perangkat pass-through, ini berarti Anda dapat memilih dan memilih kapan saja tamu tersebut memiliki akses langsung ke bagian perangkat keras dan dapat mengubahnya di mana saja waktu. Ini dapat dilakukan untuk memberikan akses nyata ke tamu kartu grafis tertentu jika Anda perlu rendering yang dipercepat dengan kecepatan tinggi tanpa ada virtualisasi .
Dimungkinkan juga untuk memiliki satu tamu secara langsung menggunakan kartu grafis dalam mode pass-through seperti dijelaskan di atas tetapi masih melihat yang lain menggunakan protokol seperti VNC lokal yang membuat layar tamu lain muncul di windows (berpikir seperti kotak virtual atau desktop jarak jauh) sementara seseorang memiliki kontrol langsung terhadap kartu grafis; atau tentu saja Anda bisa beralih di antara layar tamu dengan memberikan satu akses langsung pada satu waktu.
Berlawanan dengan apa yang Anda anggap tentang efisiensi pengaturan ini, faktanya adalah salah satu dari beberapa cara untuk menjalankan kedua OS pada saat yang sama dengan tetap mempertahankan kinerja asli yang efektif di keduanya, jika Anda melakukan beberapa googling, Anda akan menemukan banyak yang telah sukses menggunakan pengaturan seperti itu untuk menjalankan mesin game berkinerja tinggi atau sistem yang menuntut lainnya.
sumber
Menurut pengalaman saya (saya juga bekerja pada aplikasi .Net sambil menguji hal-hal keren dan menyelesaikan masalah algo di linux), dual boot akan menjadi pilihan terbaik Anda.
Seperti yang telah ditunjukkan oleh orang lain, menggunakan VM terasa lambat dan tidak responsif pada suatu waktu, yang bisa sangat menyebalkan.
Satu hal lagi yang akan saya tunjukkan bahwa itu membutuhkan waktu Anda dan coba jalankan VM dan periksa apakah Anda nyaman dengan itu.
Adapun pesanan
1) instal windows pertama dan kemudian linux (preffered)
2) Instal linux pertama maka windows (maka Anda harus menginstal ulang bootloader)
Satu hal lagi yang ingin saya tambahkan adalah bahwa untuk proyek .Net kecil Anda bahkan dapat menggunakan linux menggunakan mono, jadi tidak perlu beralih ke sana kemari dari windows ke linux.
sumber
Saya telah melakukan banyak pengembangan linux / Visual Studio aktif selama lebih dari satu tahun sekarang, dimulai dengan Visual Studio dan pindah ke linux dari waktu ke waktu (saya suka apt, zsh dan vim!).
Saya mulai dengan Windows hosting Ubuntu di VMWare Player, yang bekerja cukup baik, tentu hebat jika Anda terutama melakukan pengembangan Visual Studio dan hanya sesekali membutuhkan beberapa paket linux saja atau apa pun. Seiring waktu saya menemukan saya ingin pekerjaan saya berada di lingkungan linux lebih sering dan integrasi VM memiliki beberapa poin rasa sakit, jadi ...
Ketika saya beralih ke terutama pengembangan linux (banyak AS3 di IntelliJ dan beberapa node + python) dengan hanya sesekali membutuhkan Windows (situs ASP.NET), saya membalikkan itu ke Ubuntu hosting VirtualBox (menggunakan disk2vhd -> .vdi dari disk windows lama saya). Setelah cukup banyak mengutak-atik saya cukup senang dengan ini mengingat pekerjaan yang saya miliki secara umum, tetapi jika Anda melakukan Visual Studio dalam jumlah yang serius, Anda mungkin ingin Windows hosting Linux, baik VirtualBox atau VMWare Player harus baik-baik saja.
Saya harus mencatat beberapa poin menyakitkan: dengan driver video AMD Ubuntu 14.04 standar Akselerasi 3D VirtualBox membuat Visual Studio ~ 10-100x lebih lambat, jadi nonaktifkan akselerasi dengan mengorbankan kelesuan; dan Anda benar - benar ingin berjalan pada SSD)
sumber