Linux on external hard disk

Hi,

My current HDD capacity (80 GB partitioned in 3 drives with C being just 20GB) is very low and I already have Windows Vista installed on my laptop. I want to install linux as well. I am planning to buy external hard disk up to 1TB which I can use for back up. But can I use that to install Linux as additional operating system?

Thanks.
James BondSoftware ProfessionalAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Daniel HelgenbergerCommented:
This works fine. The internal boot restriction is only for windows.

Use a boot media to boot Linux installer and have your external HDD plugged in; selecting it in the process.

Since it is a removable drive, make sure the installer writs the boot loader on that drive! Then use BIOS boot device select to boot from the external drive. If your BIOS does not have this menu, set the primary boot order to boot first from USB and internal HDD second.
I would recommend using UEFI boot for this setup, since it can dynamically detect bootable external disks; but I think Vista leaves you out of options here.
0
kode99Commented:
You might want to consider running the linux as a virtual machine.  I find it much more convenient since you can easily switch between your windows and the virtual machines and you don't have to have linux partitions on the system either.  The 'partition' for virtual machine is in a container file within the windows file system which can be put anywhere - so just put in on the external.  

Virtual box is free,
https://www.virtualbox.org/

The setup is simple,  you setup a 'machine'  then run it and install linux just like you would on a regular computer.

This may not work  well for everything as there is some performance lost since you are running both windows and linux at the same time.  So may depend on what you are going to be doing with linux.
0
James BondSoftware ProfessionalAuthor Commented:
I will be doing C++, Java, Scripting development on Linux with performance oriented applications. So what do you suggest?
0
The Ultimate Tool Kit for Technolgy Solution Provi

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more!

Daniel HelgenbergerCommented:
Hm, i did not suggest this because of the limited space available ... but of a VM works fine in most cases.
0
Daniel HelgenbergerCommented:
If you do a lot of compiling, go for a physical machine. If performance is needed, this is essential.
0
James BondSoftware ProfessionalAuthor Commented:
ok. But can I use external hard disk to install VM so that all linux operations will happen there instead of my laptop hard drive? My current space already gets overflowed during page swapping etc when I run any high performance app like photoshop. Please advise.
0
James BondSoftware ProfessionalAuthor Commented:
When you say physical machine you mean "not to go for VM"? Yes. Lot of compiling will be there and with lot of test data. Do you think I should go for new machine or should replace my hard disk with bigger one rather than buying external hard disk?
0
Daniel HelgenbergerCommented:
If you can, replacing your internal Hard Drive preferably for an SSD would be the best option indeed. You will not need that much space with Linux since there are no huge applications; my 80GB Fedora partition serves me well.

With physical machine I mean a non virtual host, classic install. The performance you get with USB will not be great though. But still better then with virtual box or any VM.

Hint: You can clone over your old system with linux tools (or clonezilla, which is debian, for instance). Then, resize Windows to your needs and only after Windows runs install Linux. It is in the nature of Windows do wipe any other bootable option other than Windows when you install it.
0
kode99Commented:
First,  if your not using a server or other disk for backup you need a external anyway.  Sooner or later you will be glad you made a backup.  Data recovery is very expensive and not 100%.

The virtual setup will use the container file that is created where you tell it to as the hard disk,  so all disk operations will go to the file.  So if on USB you would be suffering the same penalty to speed as any other file operation on USB.  I suspect its going to be USB 2,  a newer system with USB 3 is better for external disks but a internal disk is still the best choice.

I agree you really need a new internal disk as well.  A SSD put a very noticable improvement turning bootup into a fraction of what it is for you now.  Even if you plan to replace the computer the SSD would certainly be good for transfer into a new system as well.  Cost has come down and decent 240 GB SSD can be had for around $200.

I'd guess that with Vista this is a fairly old system.  Maybe time for a new one.  Depending on exactly what it is a new midrange unit is probably a step up.  If it was not top end originally even a less than midrange might still offer better performance.

A standard drive with lots of space is pretty minor cost,  probably less than $75 for a 500 GB drive.  If you look at larger capacity be sure to check that it is not too thick,  the larger drives are mostly a couple of mm thicker and do not fit in all laptops.  

If you are keeping the old system I would also recommend looking into maximizing your memory ( 4GB for 32 bit os,  and as much as possible for a 64 bit os).  

The virtualization route offers lots of convenience  for flipping between OS's quickly,  which can be a big benefit if you had to do that frequently.  With a SSD booting a different OS is far faster but if having access to your windows and linux setup at the same time would be usefull then you may want to try it out.

Without question,  any compile or data processing will be slower than with a non virtual configuration.  If a typical compile is quite short normally then running slower on a virutal machine may not be a big deal.  But if its going to add minutes to your work then it would not be worth it.  

For the kind of work you describe it could be a problem.  I'd probably setup a few tests to see how it does.  The plus is there is really no commitment other than the time.  I use virtual box to have numerous linux configurations for testing without having to have a bunch of disks or systems.

The SSD would probably pay for itself if you are booting between windows and linux regularly,  just in startup time alone.
0
James BondSoftware ProfessionalAuthor Commented:
Actually, I dont really want to boot up with linux that much. I more likely want to use linux like we use it in office thru putty. So environment should be Windows always but I want to open linux OS as a "terminal" thru something like "putty" and should be able to write/compile large c++/java/perl programs. Now I undetstand that in order to use Linux as a "terminal" I need to have it installed on some "server". But I want that "server" thing  to start (or boot) on automatically when I start my PC. And then its the same user experience that we get in office. Is this possible to achieve?
0
Daniel HelgenbergerCommented:
If you want that, running Linux in a vm would ideal of course. Boot it up on system start of your windows. You do not even need to emulate a graphic subsystem but a serial port would do. use putty for a ssh session.

Keep in mind, depending on how large your builds will be, the compile time  will be a multiple of a physical maschine; but this might still be ok for you. testing this setup will cost you nothing but time.
0
James BondSoftware ProfessionalAuthor Commented:
Didn't understand this - "You do not even need to emulate a graphic subsystem but a serial port would do. ".  Can you please elaborate? Just to add, my c++/java development will not involve any UI development. Its mostly non-UI high performance data processing apps.
0
Daniel HelgenbergerCommented:
Depending on the hypervisor you use, you can generally choose what hardware to emulate. Emulation is always a process witch might involve considerable overhead. With your Linux, you would not need emulated graphics; basically making it use less resources and a little bit faster.
Other then windows, Linux can run without a graphic card only with a serial com port attached.
To archive speed in virtualization, a common way is using the virtual machine's 'help' with the emulation; e.g with a special driver for some hardware features. This is called para virtualization. So, enable this when ever you come across it to get more performance.
0
kode99Commented:
If you want to stay in windows and work through putty you have to run linux virtual or run linux on a separate computer than the windows system.

If you have remote access to your office,  working through putty remotely works great.  No need to do linux locally.  I use putty and winscp (http://winscp.net/eng/index.php).  Since source code is quite small even file transfers are usually fast.

Operationally running the virtual setup is the same.  When the virtual instance is setup you tell it to bridge the virtual network card to your actual network card.  Then the virtual instance will get a IP address of its own (either automatically or manually set) on the same network as your computer.  Now just putty into the VM's IP address and away you go.

The virtual machines can be run from the command line (for VirtualBox,  likely any virtual software can),  so just setup a batch to run it up when you start you computer.  Since you are running for a server it can be run 'headless' which means no display/monitor.

So for example,
"C:\Program Files\Oracle\VirtualBox\VBoxManage" startvm "<name of VM to run>" --type headless

Will run up a VM in the background though if you run the VM software you will be able to see the status of any VM's running in the background,  as well as reboot them etc.

I still highly recommend a new drive and the backup drive.  Because you are hitting issues in windows right now running software,  you may see the same issue running the virtualization software as it can use a good chunk of memory.

Get a copy here,
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html

And play around with it,  it is not really very complicated.  Here's a CentOS6 setup  walkthough,

http://webees.me/linux/set-up-develop-environment-with-centos-6-4-in-virtualbox/

Any linux setup is similar.  My linux development instances take up about 2 GB on the disk each,  but are configured to dynamically size the disk so they can grow larger as needed.  Some of the appliance type linux setups are much smaller,  500 MB or so.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
James BondSoftware ProfessionalAuthor Commented:
ok. Thanks. This all buying new hardware and testing set up will take me some time. So please bear with me.
0
SandyCommented:
Why don't you use VMWorkstation kind of software and put your VM storage on new disk if space issue is there.

By this you will be using both Windows :( and Linux :)
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Linux

From novice to tech pro — start learning today.