Making an OS from absolutely nothing is a very big load of work. I know it because that's the way I decided to make things that way, for both the OS and its build system. If you try, then you will realise that making up a bootloader that is flexible enough is the same as writing a simple Operating System, and GRUB is a right example of that.
To help out, I suggest that you download the GRUB source code anyways... Not to use it, but just to look how certain things can be done, or organized, or just find some help...
Then, can you tell me why exactly do you want a 64-bit OS ? I personnally preferred to start with 32-bit protected mode, which is a bit simpler (As far as I heard) and also much more documented in tutorials.
Also, if assembly is "just too much for you", then OSdev is "just too much for you". I mean, you can't do OSDev without to know assembly, and you'll face situations that only assembly can solve, and copy-and-paste of somebody else's code is not an option, and will only lead you to code that doesn't work and you can't find why, because you won't understand that code.
So it is necessary that you know assembly before to even try to code your OS.
Also, always remember that: don't underestimate the complexity of OSDev. That is because you are COMPLETELY on your own. It's not like in user-space applications, where you can take a framework/library that will do it for you. Remember that in OSDev, there's NOBODY and NOTHING who can do things for you. The only exception is the boot loader, where you can use a pre-made one, but you rejected that option.
To the one who said that writing a bootloader is writing an entire program in assembly, I'd answer that GRUB is a very popular bootloader, and its code is mostly C code. The trick (for the x86) is to enable protected mode early, and then return to real mode when you need to call upon the BIOS or any other 16-bit program (in case you are booting from DOS or another 16-bit OS. For example, I have already written a program running under Mike Shaunders' MikeOS and bootstrapping my OS Loader (bootloader), which helped me out at the early stage, since there still were a platform under myself to handle things such as loading files, or managing keyboard input.
Also, you seem to favor VirtualBox, but I suggest that you use Bochs instead, which has a very powerful debugger. For example, you can enable an option that allows your OS code to write to the debugger's console, which is very useful when debugging your screen driver, or just making the debugger break when your code asks for it.
Anyways, if you ever need help that you don't find in making a bootloader, know that I am making one too, so if you've got any questions, just tell me