Ubuntu *has* to assume those directories exist (as noted above). It appears that you failed to set up your very custom installation correctly, you would have needed to make /var/run and /var/lock underneath /var. The installers all take care of this, and it's noted in the Wiki under custom installations.
** Changed in: initscripts (Ubuntu) Status: Confirmed => Rejected -- missing /var/run in root partition fails many services https://launchpad.net/bugs/51452 -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs